在AngularJs中设置请求头信息(headers)的方法及不同方法的比较
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在AngularJs中设置请求头信息(headers)的方法及不同方法的比较,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1951字,纯文字阅读大概需要3分钟。
内容图文
![在AngularJs中设置请求头信息(headers)的方法及不同方法的比较](/upload/InfoBanner/zyjiaocheng/336/045fdd630fec4295a9799e18bc6d5766.jpg)
在AngularJs中有三种方式可以设置请求头信息:
1、在http服务的在服务端发送请求时,也就是调用
http服务的在服务端发送请求时,也就是调用
http()方法时,在config对象中设置请求头信息:事例如下:
$http.post('/somePath' , someData , { headers : {'Authorization' : authToken} }).success(function(data, status, headers, config) { //... }).error(function(data, status, headers, config ) { //... });
这种方法的好处就是针对不同路径的请求,可以个性化配置请求头部,缺点就是,不同路径请求都需要单独配置。
2、第二种设置请求头信息的方式就是在$httpProvider.defaults.headers属性上直接配置。事例如下:
ngular.module('app', []) .config(function($httpProvider) { $httpProvider.defaults.headers.common = { 'My-Header' : 'value' } })
$httpProvider.defaults.headers
有不同的属性,如common、get、post、put等。因此可以在不同的http请求上面添加不同的头信息,common是指所有的请求方式。
这种方式添加请求头信息的优势就是可以给不同请求方式添加相同的请求头信息,缺点就是不能够为某些请求path添加个性化头信息。
3、第三种设置请求头信息的地方是$httpProvider.interceptors。也就是为请求或相应注册一个拦截器。使用这这方式我们首先需要定义一个服务。
myModule.factory('authInterceptor', function($rootScope, $cookies){ return { request: function(config){ config.headers = config.headers || {}; if($cookies.get('token')){ config.headers.authorization = 'Bearer ' + $cookies.get('token'); } return config; }, responseError: function(response){ // ... } }; })
然后把上面定义的服务注册到$httpProvider.interceptors中。
.config(function($httpProvider){ $httpProvider.interceptors.push('authInterceptor'); })
这样,对于每次请求,不论是get还是post、put。我们都会在请求头信息中加入authorization属性。这种方式在处理验权、授权方面很有用的。但是确定就是不能够为特定的请求方式添加请求头信息。
上面总共有三种方式设置头信息,选择那种方式可以根据自己的需求。
总结
以上所述是小编给大家介绍的在AngularJs中设置请求头信息(headers)的方法及不同方法的比较,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
内容总结
以上是互联网集市为您收集整理的在AngularJs中设置请求头信息(headers)的方法及不同方法的比较全部内容,希望文章能够帮你解决在AngularJs中设置请求头信息(headers)的方法及不同方法的比较所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。