我想知道是否有任何方法可以通过添加自定义信息来配置所有$ http请求标头.像配置的东西:
var config = {headers: {
'Authorization': 'Basic d2VudHdvcnRobWFuOkNoYW5nZV9tZQ==',
'Accept': 'application/json;odata=verbose'
}
};
Run Code Online (Sandbox Code Playgroud)
但对于我将在不同服务中进行的所有$ http呼叫.我确信有一个解决方案:D.谢谢
boi*_*iil 83
您可以创建一个$http拦截器来扩展标头:
myapp.factory('httpRequestInterceptor', function () {
return {
request: function (config) {
config.headers['Authorization'] = 'Basic d2VudHdvcnRobWFuOkNoYW5nZV9tZQ==';
config.headers['Accept'] = 'application/json;odata=verbose';
return config;
}
};
});
myapp.config(function ($httpProvider) {
$httpProvider.interceptors.push('httpRequestInterceptor');
});Run Code Online (Sandbox Code Playgroud)
Sha*_*wal 22
一个更简单的解决方案可能是使用Angular的run块:
app.run(['$http', function ($http) {
$http.defaults.headers.common['Authorization'] = 'Basic d2VudHdvcnRobWFuOkNoYW5nZV9tZQ==';
$http.defaults.headers.common['Accept'] = 'application/json;odata=verbose';
}]);
Run Code Online (Sandbox Code Playgroud)
注意:此解决方案允许您仅传递一次静态值,因为该run块仅执行一次.
| 归档时间: |
|
| 查看次数: |
57783 次 |
| 最近记录: |