AngularJS(八):http服务
本文也同步发表在我的公众号“我的天空”

http服务
之前我们的示例都是在本地获取模拟数据,在实际应用中,所有的项目都将不可避免的从后台获取数据,我们都是通过Ajax来实现与服务器的通信。在AngularJS中,我们使用http服务来实现与后台的数据交互,http服务的使用请看以下代码:
var app=angular.module("myApp",[]);
app.controller("person",function($scope,$http){
$http.get('http://test.php')
.success(function(data){
//加载成功后的处理,data为返回的数据
}).error(function(data){
//加载失败后的处理,data为返回的数据
})
});
在以上代码中,我们在控制器代码中添加了$http模块,这样便可以使用http服务了,我们采取get的方式访问了一个url,随后在success()与error函数中分别针对加载成功或失败做相应的处理。测试http服务时请注意,所请求的url必须是在web服务上的,而不能在本地测试。如果要向后台传递参数,则应该添加params参数,如下:
$http.get('http://test.php',{params:{id:'5',name:'张三'}
}) .success(function(data){
......
}).error(function(data){
......
})
在以上代码中,我们添加了两个传递到后台的参数,分别是id和name,其值分别是“5”与“张三”。
如果要使用POST方式与后台通信,则应使用$http.post()方法,要注意的是params参数应该放在第三个参数位置,如下:
$http.post('http://test.php','',{params:{id:'5',name:'张三'}})
通常,我们会给请求传递一个配置对象,以便灵活的对请求进行配置,其调用形式如下:$http(config),config为一个对象,可对其设置请求方式(get/post)、请求的url、传递参数、超时时间等。如以上的示例可写成如下代码:
$http({
method:'post',
url:'http://test.php',
params:{id:5,name:'张三'}
}).success(function(data){
......
}).error(function(data){
......
})
对于config的更多配置参数,可以查阅AngularJS相关文档。
AngularJS(八):http服务的更多相关文章
- AngularJs之六(服务)
服务:AngularJS 中,服务是一个函数或对象,可在你的 AngularJS 应用中使用.AngularJS 内建了30 多个服务. 最常用的服务:$location 服务, $http 服务 ...
- 让AngularJS的$http 服务像jQuery.ajax()一样工作
让AngularJS的$http 服务像jQuery.ajax()一样工作 $http的post . 请求默认的content-Type=application/json . 提交的是json对象的字 ...
- activiti搭建(四)八项服务介绍
转载请注明源地址:http://www.cnblogs.com/lighten/p/5927949.html 1.前言 之前学习的时候一直在其它文章看到activiti提供了七个接口来操作工作流,但在 ...
- Ⅳ.AngularJS的点点滴滴-- 服务
服务(Angularjs很多方法都是服务组成的) 1.使用service方法创建的单例服务 <html> <script src="http://ajax.googleap ...
- 怎么理解angularjs中的服务?
AngularJS中的服务其实就是提供一种方式抽取共用类库 比如说一些工具类方法,我们传统的做法就是自己写个 utility 类,把相关的工具方法填充到utility里面去,最后把utility类放到 ...
- AngularJS之使用服务封装
AngularJS之使用服务封装可复用代码 创建服务组件 在AngularJS中创建一个服务组件很简单,只需要定义一个具有$get方法的构造函数, 然后使用模块的provider方法进行登记: / ...
- AngularJS 的异步服务测试与Mocking
测试 AngularJS 的异步服务 最近,在做项目时掉进了 AngularJS 异步调用 $q 测试的坑中,直接躺枪了.折腾了许久日子,终于想通了其中的道道,但并不确定是最佳的解决方案,最后还是决定 ...
- AngularJS内建服务以及自定义服务的用法
在AngularJS中, 服务是一个比较重要的部分,它是一个对象或者是函数,可以在你的AngularJS的应用中使用.接下来介绍几种比较常用的内建服务以及自定义服务的方法. [内建服务] (1)loc ...
- 【angularJS】Service服务
AngularJS 中的服务是一个函数或对象.可以创建自己的服务,或使用内建服务. 内置服务 AngularJS 内建了30 多个服务. 1. $location 服务,它可以返回当前页面的 URL ...
- angularJS(三):服务(Service)、http
一.服务 服务是一个函数或对象,可在你的 AngularJS 应用中使用. 可以创建自己的服务,或使用内建服务 $location 注意 $location 服务是作为一个参数传递到 controll ...
随机推荐
- BZOJ3932:[CQOI2015]任务查询系统
浅谈主席树:https://www.cnblogs.com/AKMer/p/9956734.html 题目传送门:https://www.lydsy.com/JudgeOnline/problem.p ...
- loj 6089 小 Y 的背包计数问题——分类进行的背包
题目:https://loj.ac/problem/6089 直接多重背包,加上分剩余类的前缀和还是n^2的. 但可发现当体积>sqrt(n)时,个数的限制形同虚设,且最多有sqrt(n)个物品 ...
- 洛谷 1979 华容道——最短路+dp
题目:https://www.luogu.org/problemnew/show/P1979 感到无从下手.但不妨用dp的角度来看.因为空格只有在指定棋子的旁边才有用,所以状态记成制定棋子的位置与空格 ...
- poj1734Sightseeing trip——无向图求最小环
题目:http://poj.org/problem?id=1734 无向图求最小环,用floyd: 在每个k点更新f[i][j]之前,以k点作为直接连到i,j组成一个环的点,这样找一下最小环: 注意必 ...
- 转载:SharePoint 2010 自定义 字段 类型--------省市区联动
最近有几个朋友问到了有关自定义字段类型的问题,为了让更多的人了解自定义字段类型的方法,特写一篇博客与大家分享,首先看一下解决方案目录 创建自定义类型分以下几个步骤: 第一步:添加SharePoint映 ...
- css水平居中方式
1. text-align:center 这种方式只适合于内联元素或者文字处于块元素当中是,给块元素设置这个,那么块元素当中的文字或者内联元素则居中.兼容各种浏览器 <div class=&qu ...
- RHEL6.3卸载OpenJDK操作示范:
安装好的CentOS会自带OpenJdk,用命令 java -version ,会有下面的信息: java version "1.6.0" OpenJDK Runtime Envi ...
- hdu2732 Leapin' Lizards (网络流dinic)
D - Leapin' Lizards Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u ...
- jsf+ejb
jsf+ejb 示例 http://docs.jboss.org/jbossas/docs/Installation_And_Getting_Started_Guide/5/html/Sample_J ...
- CC14:集合栈
题目 请实现一种数据结构SetOfStacks,由多个栈组成,其中每个栈的大小为size,当前一个栈填满时,新建一个栈.该数据结构应支持与普通栈相同的push和pop操作. 给定一个操作序列int[] ...