$http服务
来源:互联网 发布:猎流软件是什么 编辑:程序博客网 时间:2024/06/08 16:01
使用内置的$http服务直接同外部进行通信。$http服务只是简单的封装了浏览器原生的XMLHttpRequest对象。
1、链式调用
$http服务是只能接受一个参数的函数,这个参数是一个对象,包含了用来生成HTTP请求的配置内容。这个函数返回一个promise对象,具有success和error两个方法。代码如下
$http({ url:'data.json', method:'GET' }).success(function(data,header,config,status) //响应成功会执行的代码块 }).error(function(data,header,config,status){ //处理响应失败的代码块});
2、返回一个promise对象
var promise=$http({ method:'GET', url:"data.json" });
由于$http方法返回一个promise对象,我们可以在响应返回时用then方法来处理回调。如果使用then方法,会得到一个特殊的参数,它代表了相应对象的成功或失败信息,还可以接受两个可选的函数作为参数。或者可以使success和error回调代替。代码如下:
promise.then(function(res){ //请求响应成功需要执行的代码块 //res是一个响应对象是从后台获取的数据 },function(res){ //请求失败会执行的代码块 //带有错误信息的res});
或者
promise.success(function(data,status,config,headers){ //处理成功的响应 }); promise.error(function(data,status,hedaers,config){ //处理失败后的响应 });
then()方法与其他两种方法的主要区别是,它会接收到完整的响应对象。而success()和error()则会对响应对象进行析构。
3、快捷的get请求
1)
4、也可以将
method:’GET’,
url:’/api/users.json’,
params:{
‘username’:’tan’
});
其中设置对象可以包含以下主要的键:
①method
可以是:GET/DELETE/HEAD/JSONP/POST/PUT
②url:绝对的或者相对的请求目标
③params(字符串map或者对象)
这个键的值是一个字符串map或对象,会被转换成查询字符串追加在URL后面。如果值不是字符串,会被JSON序列化。
比如这个:
//参数会转为?name=ari的形式
method:’POST’,
url:’/’,
data:blob
});
4、响应对象
AngularJS传递给then()方法的响应对象包含了四个属性。
◇data
这个数据代表转换过后的响应体(如果定义了转换的话)
◇status
响应的HTTP状态码
◇headers
这个函数是头信息的getter函数,可以接受一个参数,用来获取对应名字值
例如,用如下代码获取X-Auth-ID的值:
$http({method: 'GET',url: '/api/users.json'}).then (resp) {// 读取X-Auth-IDresp.headers('X-Auth-ID');});
◇config:这个对象是用来生成原始请求的完整设置对象。
◇statusText(字符串):这个字符串是响应的HTTP状态文本。
5、缓存HTTP请求
$http.get('/api/users.json',{ cache: true }).success(function(data) {}).error(function(data) {});
第一次发送请求时,$http服务会向/api/users.json发送一个GET请求。第二次发送同一个GET请求时,$http服务会从缓存中取回请求的结果,而不会真的发送一个HTTP GET请求。在这个例子里,由于设置了启用缓存,AngularJS默认会使用$cacheFactory,这个服务是AngularJS在启动时自动创建的。 如果想要对AngularJS使用的缓存进行更多的自定义控制,可以向请求传入一个自定义的缓存实例代替true。
- http服务
- $http服务
- HTTP服务
- http服务
- http服务
- http ftp 服务布置
- http服务与客户
- 简单HTTP服务
- 深入 HTTP Web 服务
- 使用Http服务
- Android HTTP 服务
- iPhone调用Http服务
- 配置http服务 Apache
- HTTP客户端服务
- java实现http服务
- 通过http请求服务
- serversocket 提供http服务
- 使用 HTTP服务
- struts整合spring(struts创建action)--ssh整合
- 如何制作自己的CocoaPod库
- JAVA学习路线图
- jxl导出Excel大数据
- 图片旋转 loading
- $http服务
- houdini中的Python脚本语言练习
- Oracle 体系结构
- RAID5崩溃数据丢失的解决方案
- iOS GCD单例
- PCIe学习笔记(6)---PCIe的层次结构--PHYSICAL LAYER
- Adb error: more than one device/emulator
- DNS 如何工作
- 马踏棋盘的实现