在来自 Ajax 的跨域请求中发送 Headers

Send Headers in Cross domain request From Ajax

我需要将 UserID 作为请求 header 传递,但我无法在跨域 url.[=23] 中将其与请求 header 一起传递=]

下面是 Ajax 请求的屏幕截图,我在其中获得 Accept-Control-Request-Header : UserID 但是当我使用 $.ajax() headers 选项传递它时; Firebug

Headers Tab 中未显示

我也尝试了 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, authentication header not being set
  2. Can I set headers in cross domain json requests?

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

终于找到答案了

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