J'utilise fetch sur chrome Version 52.0.2743.82 (64 bits). Je veux obtenir tous les en-têtes dans la réponse. L'extrait de code suivant ne renvoie que content-type
mais si vous jetez un œil à chrome dev tools, il montre de nombreux autres en-têtes de réponse. Comment obtenir d'autres en-têtes depuis 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();
}
})
J'ai essayé le polyfilling (remplaçant manuellement) l'implémentation de github. Toujours pas de chance.
Vous ne pouvez pas accéder à tous les en-têtes lors de la demande de contenu interdomaine via ajax. Vous pouvez accéder à tous les en-têtes si Origin est identique.
Comme expliqué dans Spécifications W3 ici , seulement Content-Type
, Last-modified
, Content-Language
, Cache-Control
, Expires
, Pragma
les en-têtes sont accessibles.
Plus loin https://httpbin.org/get
envoyer seulement Content-Type
en-tête à partir de la liste des en-têtes accessibles, vous n'avez donc que cela.
Modifier: vous pouvez exposer les en-têtes de réponse CORS non standard en envoyant Access-Control-Expose-Headers
avec les en-têtes auxquels vous voulez que le client accède sur la réponse.