How to prevent angular.js $http object from sending X-Requested-With header? How to prevent angular.js $http object from sending X-Requested-With header? angularjs angularjs

How to prevent angular.js $http object from sending X-Requested-With header?


angular.module('myModule', [])    .config(['$httpProvider', function($httpProvider) {        delete $httpProvider.defaults.headers.common["X-Requested-With"]    }])


I found that, besides Justen answer, I can also do it on a per request basis like this:

delete $http.defaults.headers.common['X-Requested-With']


Since Angular JS version 1.1.1 removing the header is no longer necessary.

See the change log:
https://github.com/angular/angular.js/blob/master/CHANGELOG.md#111-pathological-kerning-2012-11-26

For people like me who were using the header to identify ajax requests and respond to them differently.

e.g. making a request after the session expires.

You can re-enable the header like so:

angular.module('yourModule', []).config(['$httpProvider', function($httpProvider) {    $httpProvider.defaults.headers.common["X-Requested-With"] = 'XMLHttpRequest';}]);