gpt4 book ai didi

jquery getResponseHeader 总是返回 'undefined' ?

转载 作者:行者123 更新时间:2023-12-03 21:56:35 25 4
gpt4 key购买 nike

我有一个通过 ajax 提交的表单。我正在使用 jquery 表单插件。我想做的是获取从我的服务器返回的“位置” header 。我可以在 Firebug 中看到它。但是每当我在成功回调中调用 getResponseHeader() 函数时,它总是返回“未定义”..

代码:

form.ajaxForm({
dataType: 'xml',
data: {format: 'xml'},
resetForm: true,
success: function(xml,status,xhr){
var location = xhr.getResponseHeader('Location');
alert(location);
});

位置未定义。但我可以在 Firebug 中看到“位置” header 。我缺少什么?即使我从 xhr 对象调用 getAllResponseHeaders(),它也会返回“未定义”

最佳答案

如果这是 CORS request ,您可能会在调试工具(例如 Chrome->Inspect Element->Network)中看到所有 header ,但 xHR 对象只会检索 header (通过 xhr.getResponseHeader('Header')),如果这样的 header 是 simple response header :

  • 内容类型
  • 最后修改时间
  • 内容语言
  • 缓存控制
  • 过期
  • 编译指示

如果它不在此集合中,则它必须存在于 Access-Control-Expose-Headers 中服务器返回的 header 。

关于所讨论的情况,如果是 CORS 请求,当且仅当以下情况时,才能够通过 XMLHttpRequest 对象检索 Location header :下面的标题也存在:

Access-Control-Expose-Headers: Location

如果它不是 CORS 请求,XMLHttpRequest 检索它不会有问题。

关于jquery getResponseHeader 总是返回 'undefined' ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4369987/

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