Maison > interface Web > js tutoriel > Pourquoi ma demande CORS Localhost échoue-t-elle sur stackoverflow.com malgré les en-têtes de serveur corrects ?

Pourquoi ma demande CORS Localhost échoue-t-elle sur stackoverflow.com malgré les en-têtes de serveur corrects ?

Mary-Kate Olsen
Libérer: 2024-12-16 11:31:11
original
936 Les gens l'ont consulté

Why Does My Localhost CORS Request Fail to stackoverflow.com Despite Correct Server Headers?

Problème d'en-tête CORS Localhost

Malgré la configuration du serveur avec les en-têtes CORS appropriés, un utilisateur rencontre des difficultés à utiliser localhost comme origine dans son script client .

Serveur Configuration

Le serveur est configuré avec l'en-tête suivant :

Access-Control-Allow-Origin:http://localhost
Copier après la connexion

Script client

Le script client utilise l'objet XMLHttpRequest faire une demande à 'http://stackoverflow.com/'.

var xhr = new XMLHttpRequest();
xhr.onload = function() {
   console.log('xhr loaded');
};
xhr.open('GET', 'http://stackoverflow.com/');
xhr.send();
Copier après la connexion

Erreur

Cependant, la requête échoue avec l'erreur suivante :

XMLHttpRequest cannot load http://stackoverflow.com/. Origin http://localhost is not allowed by Access-Control-Allow-Origin.
Copier après la connexion

Solution

Bien que la configuration du serveur semble correcte, le problème réside dans l'utilisation de « localhost » comme origine dans le script client.

Chrome ne prend pas en charge localhost pour les requêtes CORS en raison d'un bug marqué comme « WontFix » en 2014.

Solution de contournement

Pour éviter ce problème, utilisez un domaine résolu en 127.0.0.1, tel que 'localho.st', ou lancez Chrome avec l'indicateur '--disable-web-security' à des fins de test.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal