访问对 CORS 请求的响应 headers

Accessing response headers on CORS request

我正在使用提取 API 发出类似于以下代码段的 cross-domain 请求

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 header(以及其他一些 header)虽然在响应中返回,但无法访问。我认为这是一个 CORS 问题,因为根据本地请求,所有 header 都可以访问。

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

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

有关从 CORS 响应中滤除哪些 header 的详细信息,请参阅 https://fetch.spec.whatwg.org/#http-access-control-expose-headers and see https://fetch.spec.whatwg.org/#concept-filtered-response-cors