是否可以仅为指定的域设置标题?
执行此操作的“正常”方式为所有调用添加了标头,甚至是检索HTML模板的调用。
$http.defaults.headers.common['Authorization']='...';
到目前为止,除了使用$ http拦截器之外,我看不到任何其他方式,但如果你能想到一个,我很好奇。
感谢。
答案 0 :(得分:8)
创建拦截器是我处理这个问题的方法。我不确定另一种方式,所以,这是一个例子。 :)
您可以创建一个使用$httpProvider
注册的拦截器。 Angular将传递默认的配置对象进行修改,您可以修改那里的标题。
如果是基于Angular $http doc page的快速示例:
//register interceptor as a service
$provide.factory('myHttpInterceptor', function($q, dependency1, dependency2) {
return {
// optional method
'request': function(config) {
//Figure out which headers you want and set them just for this request.
config.headers = {"myHeader":"Special"}
return config;
}
};
});
$httpProvider.interceptors.push('myHttpInterceptor');