【发布时间】:2012-03-18 03:01:18
【问题描述】:
我正在使用 html 数据类型进行跨域 ajax 请求。 他们工作正常,包括我在内
Access-Control-Allow-Origin
在服务器的响应中。问题是我需要从服务器的响应中获取某些标头,无论我做什么,除了“内容类型”之外的响应标头返回 null。
jQuery 执行请求,检索包含标头的响应(我可以从流量中看到),但它不解析它。
我尝试过使用
crossDomain: true
它没有帮助。这是来自服务器的示例响应。
Access-Control-Allow-Origin:*
Cache-Control:private
Content-Encoding:gzip
Content-Length:514
Content-Type:text/html; charset=utf-8
X-MYRESPONSEHEADER:1
如果请求和响应文档在同一台服务器上
success: function (data, status, xhr) {
totalRows = xhr.getResponseHeader("X-MYRESPONSEHEADER");
工作正常。我也尝试将 $.ajax 分配给像
这样的变量var jQxhr = $.ajax(.....
我不明白为什么它不会被解析,因为 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
内容长度:514
【问题讨论】:
标签: jquery ajax cross-domain response-headers