gpt4 book ai didi

javascript - jquery:无法打印 ajax 响应 header (Jquery 1.7.1)

转载 作者:行者123 更新时间:2023-11-29 22:27:09 25 4
gpt4 key购买 nike

  $.ajax({
async:false,
type: 'POST',
url: itemURL,
success: function(data,status,jqXHR) {
responseObj = data;
console.log('success function resp');
console.log(jqXHR.getAllResponseHeaders());
},
error: function(data){
responseObj = data;
},
data:item,
dataType: "json",

});

这是我的代码;我无法打印响应标题;我错过了什么吗?打印出来的都是空字符串。

尝试使用 getResponseHeader("Location"),这也不起作用;我正在尝试获取为 AJAX 调用返回的“位置” header 。

然而,firbeug 显示了所有响应 header ,包括我之后的“位置”。

我正在使用 Jquery 1.7.1

最佳答案

我与@Satish 一起帮助回答了这个问题。这基本上是一个 CORS 问题,但事实证明这里涉及两个问题:

1) 服务器需要将“位置”添加到 Access-Control-Expose-Header 响应 header ,这允许符合 XHR Level-2 的客户端看到额外的 header 。

2) WebKit 客户端一个错误,在返回 XHR 响应的 header 时,它们会忽略 Access-Control-Expose-Header。最近在 WebKit 中修复了这个问题 https://bugs.webkit.org/show_bug.cgi?id=76419 ,并且我们证实它现在可以在基于该 WebKit 的 Safari 中运行。

只是为了添加一些背景知识,该请求是通过 POST 发送到 REST 服务以创建一个对象。服务器响应的状态为 201,并将新资源的位置存储在“位置” header 中。由于这是一个 CORS 请求,XHR 正在剥离“位置” header 。添加 header 并升级到具有修复程序的 WebKit 版本更正了此问题。

关于javascript - jquery:无法打印 ajax 响应 header (Jquery 1.7.1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8823496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com