Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

AngularJS $resource not sending X-Requested-With

I'm using angular 1.1.5 and I'm using a $resource to make a XHR to a REST service but it seems like the the $resource isn't appending the header as X-Requested-With as XMLHttpRequest, is that a normal behavior? and Do I need to append the header manually?

function loginCtrl($scope,$resource) {     $scope.submit = function () {          var resource = $resource('/Api/User/login', {},               {                   authenticate: {                       method: 'POST',                       isArray: false,                       headers: {                           '__RequestVerificationToken':  $scope.loginRequest.Token                        }                   }               });          resource.authenticate($scope.loginRequest);     }; } 
like image 625
pedrommuller Avatar asked Aug 11 '13 04:08

pedrommuller


2 Answers

Just add this to your app

myAppModule.config(['$httpProvider', function($httpProvider) {     $httpProvider.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest'; }]); 
like image 185
Johnny Avatar answered Oct 25 '22 12:10

Johnny


It used to but was changed. (see here)

"X-Requested-With header is rarely used in practice and by using it all the time we are triggering preflight checks for crossdomain requests."

From Thomas Pons' answer here.

like image 22
Breandán Avatar answered Oct 25 '22 12:10

Breandán