2017-06-09 1 views
1

Dans le navigateur, je fais une requête HTTP. La ressource à reqUrl n'active pas CORS, donc il n'y a pas de corps de réponse. Mais comment puis-je obtenir l'en-tête de réponse? (Je peux le voir dans l'onglet réseau de DevTools.)javascript côté client: comment puis-je obtenir l'en-tête de réponse d'une requête HTTP lorsque CORS n'est pas autorisé?

var p = fetch(reqUrl, { 
    method: "POST", 
    headers: reqHeader, 
    body: reqBody 
}); 

p.then(function() { 
}) 
.catch(function (err) { 
    // CORS is disabled so I'm arriving here 
    // "TypeError: NetworkError when attempting to fetch resource." 
}); 

Répondre

2

Vous ne pouvez pas, à moins qu'il ne supporte CORS et porte le nom d'en-tête liste blanche. C'est une question de sécurité car obtenir un contenu d'en-tête interdit est aussi risqué qu'un contenu de réponse interdit. La fonctionnalité des outils de développement n'est pas limitée par la SOP, elle n'a donc pas besoin de telles "permanentes" pour afficher les informations de débogage de l'utilisateur. Vous ne pouvez pas accéder aux informations de devtool par des scripts, il est donc sûr de les montrer à l'utilisateur.