我正在使用 fetch API 发出类似于以下代码片段的跨域请求
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 问题,因为在本地请求上,所有标头都可以访问。
这是设计使然吗?有办法解决这个问题吗?
您请求的资源很可能缺少Access-Control-Expose-Headers
标头包含Link
作为价值。
See https://fetch.spec.whatwg.org/#http-access-control-expose-headers并看到https://fetch.spec.whatwg.org/#concept-filtered-response-cors了解从 CORS 响应中过滤掉哪些标头的详细信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)