添加自定义标头值

时间:2019-02-15 13:08:44

标签: angularjs

我是angularjs的新手。 目前正在学习拦截器。

我需要的是,我想在标题中添加一个新的标题参数,例如'isUserUpdated':true,以便我可以在服务器端识别用户是否已更新。

我的代码如下:

.factory('myInterceptor', [function(){
            var myInterceptor = {
                request: function(config){
                    if(config.url.indexOf('/session') > -1) {
                        //add a new value in header
                    }
                    return config;
                },
            };
            return myInterceptor;
        }]);

有什么方法可以在标头中添加新的自定义键值对?

1 个答案:

答案 0 :(得分:1)

您需要为此创建一个HTTP拦截器。

var app = angular.module('app'); // get your app.
app.config([ '$httpProvider', function($httpProvider) {
    $httpProvider.interceptors.push('MyCustomInterceptor');
} ]);

app.service('MyCustomInterceptor', [ '$rootScope', function($rootScope) {
    var service = this;
    service.request = function(config) {
        config.headers.isUserUpdated = $rootScope.myValue; // true or false or whatever 
        return config;
    };
} ]);

config.headers.isUserUpdated将添加到应用程序进行的每个http调用中。