我想为Angular应用程序中的每个请求添加自定义标头。 目前我是这样做的:
app.run(['list of dependencies', function(dependencies) {
$http.defaults.headers.common['custom_header'] = $cookies.get('custom_cookie');
}]);
一切正常,直到我的自定义cookie没有变化。但是当更改Cookie时,$http
会发送在app.run
中初始化的旧Cookie。因此,对于更新标头,我需要重新加载页面。
我需要动态添加更新标头吗?当然,我可以直接更新标头,例如,在控制器中,但似乎我这样重复自己。而且这种方法使代码不清晰和复杂。
我希望在一个站点中配置所有标头。
任何帮助将不胜感激!
答案 0 :(得分:1)
据我所知,您可以将文件存储在标题图中:
$http.defaults.headers.common['custom_header'] = function() {
return $cookies.get('custom_cookie');
};
这样,每次发送请求时,Angular都会从函数中获取最新的cookie值,如果不是null,则会设置标题。