4

我需要UserID作为请求标头传递,但我无法通过跨域 url 中的请求标头传递它。

下面是我得到的 Ajax 请求的屏幕截图,Accept-Control-Request-Header : UserID但是当我使用$.ajax() 标头选项传递它时;它没有在Headers TabFirebug中显示

在此处输入图像描述

我也尝试了该beforeSend选项,但没有进展。

以下是我使用的示例代码,

headers: {'UserID': 12345 },
dataType: 'jsonp',
crossdomain: true,
beforeSend: function (request) {                
      request.withCredentials = true;
      request.setRequestHeader("UserID", "1");
      request.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
      request.setRequestHeader("Access-Control-Allow-Origin", "*");
},

我已经参考了以下所有 SO Urls,

  1. jQuery JSONP ajax,未设置身份验证标头
  2. 我可以在跨域 json 请求中设置标头吗?
  3. 修改 JSONP 请求的 HTTP 标头

有没有办法在中显示请求标头,Firebug Headers tab或者是服务器端安全性阻止了请求标头。

4

1 回答 1

0

最后,我得到了解决方案。

我的端(客户端)没有错误。实际上错误来自服务器端,它不允许我发送标头。在服务器端允许跨源请求参数问题得到解决。

于 2015-08-21T12:32:53.280 回答