nLL*_*nLL 6 ajax jquery cross-domain response-headers
我正在用html数据类型制作跨域ajax请求.他们工作正常
Access-Control-Allow-Origin
Run Code Online (Sandbox Code Playgroud)
在服务器的响应中.问题是我需要从服务器的响应中获取某些标头,无论我做什么,除"内容类型"之外的响应标头返回null.
jQuery执行请求,检索包含标题的响应(我可以从流量中看到它),但它不会解析它.
我试过用
crossDomain: true
Run Code Online (Sandbox Code Playgroud)
它没有帮助.以下是来自服务器的示例响应.
Access-Control-Allow-Origin:*
Cache-Control:private
Content-Encoding:gzip
Content-Length:514
Content-Type:text/html; charset=utf-8
X-MYRESPONSEHEADER:1
Run Code Online (Sandbox Code Playgroud)
如果请求和响应文档在同一服务器上
success: function (data, status, xhr) {
totalRows = xhr.getResponseHeader("X-MYRESPONSEHEADER");
Run Code Online (Sandbox Code Playgroud)
工作良好.我也尝试将$ .ajax分配给变量之类的
var jQxhr = $.ajax(.....
Run Code Online (Sandbox Code Playgroud)
我不明白为什么它不会被解析,因为jQuery实际上发出请求并获得响应
有任何想法吗?我错过了什么吗?
标题已发送到请求
HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Encoding: gzip
Vary: Accept-Encoding
Server: Microsoft-IIS/7.5
Access-Control-Allow-Origin: *
Access-Control-Allow-Headers: X-MYRESPONSEHEADER
Access-Control-Allow-Methods: POST
Access-Control-Allow-Methods: GET
X-MYRESPONSEHEADER: 24
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Wed, 29 Feb 2012 11:34:21 GMT
Run Code Online (Sandbox Code Playgroud)
内容长度:514
您需要在服务器响应中添加另一个特定于 CORS 的标头Access-Control-Allow-Headers。在这种情况下,
Access-Control-Allow-Headers: X-MYRESPONSEHEADER
Run Code Online (Sandbox Code Playgroud)
参考:https://developer.mozilla.org/en/http_access_control#Access-Control-Allow-Headers