angularjs设置请求头信息的三种方法

angularjs设置请求头信息的三种方法

1、方法一单个请求分别进行请求头设置

该方法的优点是每个请求都可以设置不同的请求头,缺点是每个请求都需要单独设置,增加代码量和重复代码

2、第二种设置请求头信息的方式就是在$httpProvider.defaults.headers属性上直接配置
angular.module('myApp', [])
.config(function($httpProvider) {
    $httpProvider.defaults.headers.common = { 'header' : 'value' }
})

$httpProvider.defaults.headers有common、get、post、put等s属性。因此可以在不同的http请求上面添加不同的头信息,common是指所有的请求方式。

这种方式添加请求头的优势就是可以给不同请求方式统一添加请求头信息,缺点就是不能为某些请求添加个性化头信息。

3、第三种设置请求头信息的方法是使用拦截器$httpProvider.interceptors。

也就是为请求注册一个拦截器。首先定义一个服务

myModule.factory('token', function($rootScope,  $cookies){
    return {
        request: function(config){
            config.headers = config.headers || {};
            if($cookies.get('token')){
                config.headers.authorization = $rootScope.urlPath + $cookies.get('token');
            }
            return config;
        },
        responseError: function(response){
            // ...
        }
    };
})

然后把上面定义的服务注册到$httpProvider.interceptors中。

.config(function($httpProvider){
    $httpProvider.interceptors.push('authInterceptor');
})

这样,对于每次请求,不论是get还是post、put。我们都会在请求头信息中加入authorization属性。这种方式在处理验权、授权方面很有用的。但是确定就是不能够为特定的请求方式添加请求头信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值