我是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;
}]);
有什么方法可以在标头中添加新的自定义键值对?
答案 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调用中。