jquery getResponseHeader总是返回’undefined’?

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

码:

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

位置未定义。但是我可以在firebug中看到“位置”标题。我失踪了什么即使我从xhr对象调用getAllResponseHeaders(),它返回’undefined’

解决方法

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

>内容类型
>最后修改
>内容语言
>缓存控制
>到期
> Pragma

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

关于这个问题,如果是CORS请求,那么只有在下面的标题中,只有当下面的标题出现时,才能检索XMLHttpRequest对象的Location头。

Access-Control-Expose-Headers: Location

如果它不是CORS请求,XMLHttpRequest将在检索它时没有问题。

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: <span id=&quot...
jQuery 添加水印 <script src="../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...