AngularJS是通过HTTP与服务器通信的详细美元
$ httpAngularJS提供HTTP服务的美元与服务器端的通信,以及美元的HTTP服务团队浏览器的XMLHttpRequest对象是封装的,所以我们可以从服务器请求数据的AJAX模式。
一个非常关键的服务至HTTP采用AngularJS远程HTTP服务器交互时。
1,$ http是角的核心服务,与远程HTTP服务器使用浏览器的XMLHttpRequest或通过json对象交互。
2,HTTP的使用与jQuery提供的ajax操作相同,所有这些都支持各种方法请求,如get、帖、放、删除等。
3,HTTP请求的各种类型往往更接近REST样式。
在4中,控制器可以通过与$范围相同的方式获得http对象,例如函数控制器($范围,HTTP){ }
下面是使用http服务的说明:
成功(函数(数据,状态,头,配置){ }(函数)。错误(数据,状态,头,配置){ });
HTTP服务是一个接受一个参数的函数,参数的类型是对象,它用来配置生成的HTTP请求,它返回一个允诺对象。
var允诺= HTTP({
方法:' ',
URL:
});
Promise.then(功能(RESP)功能(RESP){ } { })
用于http请求的配置对象
由http()接受的配置对象可以包含以下属性:
方法:HTTP请求的方法,可以得到的,删除,头,JSONP,后,把
URL:请求的目标字符串
参数:字符串或对象将转换为附加的URL的查询字符串
数据:用于发送POST请求并作为消息体发送到服务器。
头:一个列表,每个元素都是一个函数,返回到HTTP头
XsrfHeaderName:(字符串)的HTTP头,节省xsfr标记的名称
xsrfcookiename:保存的xsfr令牌的cookie名称
一个transformrequest:函数或数组函数,将要求身体和头的HTTP请求信息并返回转换后的结果。
的transformresponse:函数或函数数组用于HTTP响应头信息和响应体转换和返回转换后的结果。
缓存:布尔类型或缓存对象,设置后,角缓存将缓存GET请求。
超时:值,延迟请求
responsetype:字符串、反应类型。它可以ArrayBuffer,BLOB,文档,JSON文本,MOZ的blob,MOZ块文本,蚊子块—
ArrayBuffer
HTTP请求的响应对象
角传递到该方法的响应对象包括以下属性
数据之后的响应体:转换
状态:HTTP响应状态码
标题信息
配置:为原始请求生成一个set对象
在StatusText文本:HTTP响应状态
拦截
在角度上,我们可以通过拦截器拦截来自全局层的请求和响应。
在使用拦截器,我们声明一个服务通过厂(),然后登记拦截通过httpprovider.interceptors美元分为四种,两种成功的拦截和两种故障拦截。
Angular.module(测试,{ })。厂('testinterceptor功能($ Q){
var拦截器{ {
请求:函数(配置){
返回配置;
},
反应:功能(对应){
返回响应;
},
requesterror:功能(拒绝){
返回的q.reject(拒绝);
},
频响:功能(拒绝){
返回抑制
}
}
返回拦截;
})
Angular.module(测试,{ })。配置(功能($ httpprovider){
httpprovider.interceptors.push美元('testinterceptor);
})
总结
以上就是本文的全部内容,希望能给大家的学习或工作带来一定的帮助。如果有问题,你可以留言。