AngularJS是通过HTTP与服务器通信的详细美元

$ http

AngularJS提供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);
})


总结



以上就是本文的全部内容,希望能给大家的学习或工作带来一定的帮助。如果有问题,你可以留言。