Подтвердить что ты не робот

Ресурс AngularJS $не отправляет X-Requested-With

Я использую angular 1.1.5, и я использую $resource, чтобы сделать XHR для службы REST, но похоже, что $resource не добавляет заголовок как X-Requested-With as XMLHttpRequest, - это нормальное поведение? и мне нужно добавить заголовок вручную?

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);
    };
}
4b9b3361

Ответ 1

Просто добавьте это в свое приложение

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

Ответ 2

Раньше это было, но было изменено. (см. здесь)

"X-Requested-With header редко используется на практике и с использованием это все время, когда мы запускаем предполетные проверки для crossdomain запросы ".

От ответа Томаса Пона здесь.

Ответ 3

У меня была такая же проблема, и я решил ее использовать:

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

Также вы можете установить заголовок для принятия application/json:

$http({
  method: 'GET',
  url: '/someUrl',
  headers: { Accept: 'application/json' }
})