jQuery.ajax()
来电后jqXHR.getAllResponseHeaders()
将不会返回所有标头。服务器回复了以下标题:
Connection: keep-alive
Content-Length: 64
Content-Type: application/json
X-My-CustomHeader: whatever
getAllResponseHeaders()
仅返回:
Content-Type: application/json
我做错了什么?
示例
var request = {
'url': 'http://api.someExternalDomain.com/resource/',
'type': someMethod,
'success': function(data, textStatus, jqXHR) {
console.log(jqXHR.getAllResponseHeaders());
}
};
$.ajax(request);
答案 0 :(得分:8)
X-My-CustomHeader
,那么这个标题应该在服务器响应中:
Access-Control-Expose-Headers: X-My-CustomHeader
更多细节here。
答案 1 :(得分:6)
来自jquery官方网站:
目前,由于Firefox中存在一个bug .getAllResponseHeaders() 尽管.getResponseHeader('Content-Type')返回空字符串 返回非空字符串,自动解码JSON CORS响应 在Firefox中使用jQuery不受支持。