Something about http request in angularjs
来源:互联网 发布:精微工资软件下载 编辑:程序博客网 时间:2024/05/14 10:59
摘录自《angularJS权威教程》以及官网API
一、官网API的$http()用法
二、书上的详细介绍
当我们将$http当作函数来调用时,需要传入一个设置对象,用来说明如何构造XHR对象。
例如,可以像下面这样将$http当作函数来调用:$http({
method: 'GET', url: '/api/users.json', params: {
'username': 'auser' }
});
设置对象可以包含以下键。
1. method(字符串)
绝对或相对的URL,是请求的目标。
3. params(字符串map或对象)
这个键的值是一个字符串map或对象,会被转换成查询字符串追加在URL后面。如果值不是字符串,会被JSON序列化。
// 参数会转化为?name=ari的形式$http({
params: {'name': 'ari'}})
4. data(字符串或对象)
这个对象中包含了将会被当作消息体发送给服务器的数据。通常在发送POST请求时使用。
从AngularJS 1.3开始,它还可以在POST请求里发送二进制数据。要发送一个blob对象,你可以简单地通过使用data参数来传递它。例如:
var blob = new Blob(['Hello World'], {type: 'text/plain'}); $http({
method: 'POST',
url: '/',
data: blob
});
5. headers(对象)
一个列表,每一个元素都是一个函数,它会返回代表随请求发送的HTTP头。如果函数的返回值是null,对应的头不会被发送。
6. xsrfHeaderName(字符串)
保存XSFR令牌的HTTP头的名称。
7. xsrfCookieName(字符串)
保存XSFR令牌的cookie的名称。
8. transformRequest(函数或函数数组)这是一个函数或函数数组,用来对HTTP请求的请求体和头信息进行转换,并返回转换后的 版本。通常用于在请求发送给服务器之前对其进行序列化。
这个函数看起来是这样的:
function(data,headers) {}
9. transformResponse(函数或函数数组)这是一个函数或函数数组,用来对HTTP响应的响应体和头信息进行转换,并返回转换后的版本。通常用来进行反序列化。
这个函数看起来是这样的:
function(data,headers) {}
10. cache(布尔型或缓存对象)
如果cache属性被设置为true,那么AngularJS会用默认的$http缓存来对GET请求进行缓存。如果cache属性被设置为一个$cacheFactory对象的实例,那么这个对象会被用来对GET请求进行缓存。
11. timeout(数值型或promise对象)
如果timeout被设置为一个数值,那么请求将会在推迟timeout指定的毫秒数后再发送。如果被设置为一个promise对象,那么当该promise对象被resolve时请求会被中止。
12. withCredentials(布尔型)
如果该属性被设置为true,那么XHR请求对象中会设置withCredentials标记。
默认情况下,CORS请求不会发送cookie,而withCredentials标记会在请求中加入Access-Control-Allow-Credentials头,这样请求就会将目标域的cookie包含在请求中。
13. responseType(字符串)responseType选项会在请求中设置XMLHttpRequestResponseType属性。我们可以使用以下
HTTP请求类型其中之一:
""(字符串,默认);
"arraybuffer"(ArrayBuffer);
"blob"(blob对象);
"document"(HTTP文档);
"json"(从JSON对象解析而来的JSON字符串);"text"(字符串);
"moz-blob"(Firefox的接收进度事件);
"moz-chunked-text"(文本流);
"moz-chunked-arraybuffer"(ArrayBuffer流)。
三、关于$resourse 摘自官网
四、书上关于restangular的介绍
Maggie:感觉用法跟$resourse略有相似,不知道区别在哪,知道了再写下一篇好了~
- Something about http request in angularjs
- restangular: Differences with $resource 接上篇Something about http request in angularjs
- Something about HTTP Protocol
- something about Ruby in GEM5
- something about vertex in graph
- Something More about "new" &"delete" in C++
- Something about loopback in linux code
- Something about ...
- Something about set list and map in Java
- Something about static Methods in C++ you should know
- Something about float divide
- something about Tomcat(zz)
- something about Listeners
- something about Macro
- Something about Music
- something about struts
- something about ado
- something about SEO
- openstack网络模式之vlan分析
- 排序算法(四)折半插入排序(二分插入排序)
- 第13周项目6-键盘读入成绩并处理
- 汇编从优盘启动
- STVD&IAR编译效率差异
- Something about http request in angularjs
- iOS UIWebView
- final、finally、finalize的区别
- 第13周项目6-从文件(记事本)读入成绩数据并求平均分、优秀和不及格人数
- 多线程程序中的fork调用
- .Net4.0的网站在IE10、IE11出现“__doPostBack未定义”的解决办法(ReportView控件)
- 在写js计算器的时候,粗心导致的错误
- 第十三周 项目5(1):统计每个数字字符出现的次数
- 13周项目一。。删除数组中的数