udnisap udnisap - 1 year ago 168
Javascript Question

How to get headers of the response from fetch

I am using fetch on chrome Version 52.0.2743.82 (64-bit). I want to get all the headers in the response. Following snippet only return

but if you peek into chrome dev tools it shows many other response headers. How to get other headers from fetch.

.then(response => {
const headers = response.headers.entries();
let header = headers.next();
while (!header.done){
header = header.next();

I tried polyfilling(manually overriding) the github implementation. Still no luck.

Answer Source

You can't access all the headers when requesting cross-domain content via ajax. You can access all headers if origin is same.

As explained in W3 Specifications here, only Content-Type, Last-modified, Content-Language, Cache-Control, Expires, Pragma headers are accessible.

Further https://httpbin.org/get send only Content-Type header from list of accessible headers so, you got that only.

Edit: You can expose non-standard CORS response headers by sending Access-Control-Expose-Headers with the headers you want the client to access on the response.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download