如何从 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-Type
、Last-modified
、Content-Language
、Cache-Control
、Expires
、Pragma
header 可访问。
进一步 https://httpbin.org/get
仅发送 Content-Type
header 来自可访问 header 列表所以,你只得到了。
编辑:您可以通过发送 Access-Control-Expose-Headers
和您希望客户端在响应中访问的 header 来公开 non-standard CORS 响应 header。
我在 chrome 版本 52.0.2743.82(64 位)上使用 fetch。我想在响应中获得所有 headers 。以下片段仅 return content-type
但如果你查看 chrome 开发工具,它会显示许多其他响应 headers。如何从 fetch.
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-Type
、Last-modified
、Content-Language
、Cache-Control
、Expires
、Pragma
header 可访问。
进一步 https://httpbin.org/get
仅发送 Content-Type
header 来自可访问 header 列表所以,你只得到了。
编辑:您可以通过发送 Access-Control-Expose-Headers
和您希望客户端在响应中访问的 header 来公开 non-standard CORS 响应 header。