AngularJS $资源未发送X-Requested-With

jac*_*per 46 xmlhttprequest angularjs

我正在使用angular 1.1.5并且我使用$ resource为一个REST服务创建一个XHR,但似乎$资源没有将标头附加为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);
    };
}
Run Code Online (Sandbox Code Playgroud)

小智 106

只需将此添加到您的应用

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

  • Laravel 5.1期望此标头将请求确定为"ajax请求". (2认同)

Bre*_*dán 25

它曾经但被改变了.(看这里)

"X-Requested-With标头在实践中很少使用,并且我们一直在使用它来触发跨域请求的预检检查."

从托马斯·庞斯答案在这里.

  • 很高兴知道,我正在使用它,因为我正在使用servicestack中的antiForgeryToken属性验证请求,事实是我验证是一个ajax请求,知道至少该请求是从一个表单,现在问题是:"我怎么能在服务器端知道该请求是否是ajax?",谢谢你的回答! (3认同)