如何从 fetch 获取响应的 headers

How to get headers of the response from fetch

我在 chrome 版本 52.0.2743.82(64 位)上使用 fetch。我想在响应中获得所有 headers 。以下片段仅 return content-type 但如果你查看 chrome 开发工具,它会显示许多其他响应 headers。如何从 fetch.

中获取其他 headers
  fetch('https://httpbin.org/get')
    .then(response => {
       const headers = response.headers.entries();
       let header = headers.next();
       while (!header.done){
         console.log(headers.value);
         header = header.next();
       }
    })

我尝试填充(手动覆盖)github 实现。仍然没有运气。

通过 ajax 请求 cross-domain 内容时,您无法访问所有 header。如果来源相同,您可以访问所有 header。

如 W3 规范 here 中所述,仅 Content-TypeLast-modifiedContent-LanguageCache-ControlExpiresPragma header 可访问。

进一步 https://httpbin.org/get 仅发送 Content-Type header 来自可访问 header 列表所以,你只得到了。

编辑:您可以通过发送 Access-Control-Expose-Headers 和您希望客户端在响应中访问的 header 来公开 non-standard CORS 响应 header。