ope*_*sas 25 javascript web-services xmlhttprequest angularjs
当使用$ http对象访问Web服务时,Angular.js会自动向请求添加X-Requested-With:XMLHttpRequest标头.
我使用CORS访问的Web服务不支持X-Requested-With标头,所以我试图消除它,但我不能访问$ httpProvider对象.我得到一个未定义的对象错误,如果我在控制器参数中引用它,那么angular注入它我得到一个"错误:未知的提供者:$ httpProviderProvider < - $ httpProvider"
所以我想知道如何访问$ httpProvider,就像它在文档(http://docs.angularjs.org/api/ng.$http)中所说的那样告诉angular.js不要发送那个头...
Jus*_*ten 26
angular.module('myModule', [])
.config(['$httpProvider', function($httpProvider) {
delete $httpProvider.defaults.headers.common["X-Requested-With"]
}])
Run Code Online (Sandbox Code Playgroud)
ope*_*sas 11
我发现,除了Justen的回答,我也可以按照这样的要求进行:
delete $http.defaults.headers.common['X-Requested-With']
Run Code Online (Sandbox Code Playgroud)
请参阅更改日志:https:
//github.com/angular/angular.js/blob/master/CHANGELOG.md#111-pathological-kerning-2012-11-26
像我这样的人使用标题来识别ajax请求并以不同方式响应它们.
例如,在会话到期后发出请求.
你可以像这样重新启用标题:
angular.module('yourModule', [])
.config(['$httpProvider', function($httpProvider) {
$httpProvider.defaults.headers.common["X-Requested-With"] = 'XMLHttpRequest';
}]);
Run Code Online (Sandbox Code Playgroud)