Maison  >  Article  >  interface Web  >  Comment résoudre l'erreur « L'origine n'est pas autorisée par Access-Control-Allow-Origin » ?

Comment résoudre l'erreur « L'origine n'est pas autorisée par Access-Control-Allow-Origin » ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-19 09:36:29676parcourir

How to Resolve the

Comprendre l'erreur « L'origine n'est pas autorisée par Access-Control-Allow-Origin »

Lors de la tentative d'accès à des ressources sur différentes origines ( par exemple, domaines, ports), vous pouvez rencontrer l'erreur « L'origine n'est pas autorisée par Access-Control-Allow-Origin ». Cette erreur provient de la politique de même origine du navigateur, qui restreint les requêtes d'origine croisée pour des raisons de sécurité.

Dans votre cas spécifique, la requête de localhost:8080 n'est pas autorisée pour un accès d'origine croisée par le serveur d'hébergement. gdata.youtube.com. L'extrait de code tente d'envoyer une requête XMLHttpRequest au serveur, mais l'en-tête Access-Control-Allow-Origin du serveur n'est pas défini pour autoriser les requêtes provenant de votre origine.

Causes de l'erreur :

  • Origines incompatibles : les requêtes d'origine croisée ne sont autorisées que si les origines sont les mêmes (par exemple, http://example.com demande depuis http://example.com).
  • Différences de ports : différents ports (par exemple, example.com:80 demandant à example.com:81) sont considérés comme des origines différentes.
  • En-têtes CORS non définis : le serveur doit définir explicitement Access-Control-Allow -En-tête d'origine avec les origines autorisées pour activer les requêtes d'origine croisée.

Solutions :

Pour résoudre cette erreur, envisagez les solutions suivantes :

  • Configurer CORS sur le serveur : Le serveur doit définir l'en-tête Access-Control-Allow-Origin avec l'origine autorisée (par exemple, Access-Control-Allow-Origin : http:// localhost:8080).
  • Utiliser JSONP : JSONP (JSON with Padding) est une technique qui utilise une fonction de rappel pour gérer les requêtes d'origine croisée. Le serveur renvoie les données encapsulées dans la fonction de rappel, permettant aux navigateurs de l'exécuter.
  • Utiliser un proxy côté serveur : Un proxy côté serveur (par exemple, PHP, ASP) peut agir comme un intermédiaire entre le navigateur et le serveur distant. Le proxy envoie la requête au serveur distant et gère les en-têtes CORS, permettant au navigateur d'accéder aux données.

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:
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