【问题标题】:Accessing response headers on CORS request访问 CORS 请求的响应标头
【发布时间】:2015-11-13 05:47:05
【问题描述】:

我正在使用 fetch API 发出类似于下面 sn-p 的跨域请求

window.fetch('http://data.test.wikibus.org/magazines', { method: 'get'})
      .then(function(response) { 
        var linkHeader = response.headers.get('Link');
        document.querySelector('#link-header').innerText = 'The Link header is: ' + linkHeader;
      });
<span id="link-header"></span>

正如您所见,尽管在响应中返回了 Link 标头(以及其他一些标头),但它是不可访问的。我认为这是一个 CORS 问题,因为在本地请求中,所有标头都可以访问。

这是设计使然吗?有没有办法解决这个问题?

【问题讨论】:

    标签: javascript ajax cors fetch-api


    【解决方案1】:

    您请求的资源很可能缺少包含 Link 作为值的 Access-Control-Expose-Headers 标头。

    请参阅https://fetch.spec.whatwg.org/#http-access-control-expose-headershttps://fetch.spec.whatwg.org/#concept-filtered-response-cors,了解哪些标头从 CORS 响应中被过滤掉的详细信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-16
      • 1970-01-01
      • 2016-05-06
      • 2016-02-13
      相关资源
      最近更新 更多