web-dev-qa-db-ja.com

AngularJS $ resourceがX-Requested-Withを送信していません

angular 1.1.5を使用しており、$ resourceを使用してXHRをRESTサービスに設定していますが、$ resource X-Requested-Withとして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);
    };
}
46
jack.the.ripper

これをアプリに追加するだけです

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

以前は変更されていました。 (ここを参照)

「X-Requested-Withヘッダーは実際にはめったに使用されず、クロスドメインリクエストのプリフライトチェックをトリガーするたびに使用することにより」

トーマス・ポンスの答えから ここ

25
Breandán

私は同じ問題を抱えていて、次を使用して解決しました:

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

また、application/jsonを受け入れるようにヘッダーを設定できます。

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