3

在此处输入图像描述

如何使用 jquery ajax“get”获取响应头位置?

这是我的示例代码

$.ajax({
    type: 'GET',
    url: 'http://www.url.com',
    data: {},
    dataType: "json",
    success: function(res) { },
    error: function(jqXHR) { }
});
4

2 回答 2

8

为了访问非简单标头(有关简单标头的更多详细信息,请参见http://www.w3.org/TR/cors/),服务器必须在“Access-Control-Expose-”中包含您要访问的标头名称标头”CORS 标头。

因此,除了“Access-Control-Allow-Origin”、“Access-Control-Allow-Headers”标头之外,您进行呼叫的服务器必须包括:

访问控制公开标头:位置

我在 Windows 7(Chrome 23、Safari 5.1.7、Firefox 17 和 Opera 12.11)上对此进行了测试。似乎只有 Chrome 和 Opera 能够通过 getResponseHeader('Location') 方法访问 Location 标头,并且只有在服务器响应中包含 Access-Control-Expose-Headers 标头时才会这样做

于 2012-11-28T09:25:03.107 回答
3

您也可以在成功回调中接收一个 jqXhr 对象,它有一个.getResponseHeader()可以像这样使用的方法

$.ajax({
   type: 'GET',
   url: 'http://www.url.com',
   data: {},
   dataType: "json",
   success: function(res,status,XHR) { 
       var location = XHR..getResponseHeader('Location');
   },
   error: function(jqXHR) { }
});

在这里阅读更多$.ajax,在页面中搜索.getResponseHeader字符串。

工作小提琴

或者试试这个来检查所有response headers

于 2012-06-04T10:23:08.027 回答