Maison  >  Article  >  interface Web  >  Pourquoi est-ce que j'obtiens l'erreur « Non en-tête Access-Control-Allow-Origin » ?

Pourquoi est-ce que j'obtiens l'erreur « Non en-tête Access-Control-Allow-Origin » ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-26 09:07:03547parcourir

Why Am I Getting the

Comprendre l'erreur « Pas d'en-tête 'Access-Control-Allow-Origin' »

Lorsque vous rencontrez un message d'erreur du type « Pas d'accès -Control-Allow-Origin' est présent sur la ressource demandée", cela indique que votre navigateur restreint le partage de ressources d'origine croisée (CORS) entre votre script et le serveur. Voici une description du problème et comment le résoudre.

Qu'est-ce que CORS ?

CORS est un mécanisme qui régule l'échange d'informations entre des scripts d'origines différentes ( domaines). Sans CORS, seules les requêtes de même origine (scripts et serveurs du même domaine) sont autorisées pour des raisons de sécurité.

L'erreur "Pas d'en-tête 'Access-Control-Allow-Origin'"

Lors d'une requête d'origine croisée, le navigateur envoie un en-tête spécial nommé "Origine" avec la requête. Si le serveur cible ne répond pas avec un en-tête correspondant "Access-Control-Allow-Origin", le navigateur bloque la demande pour des raisons de sécurité.

Solution : ajout de l'option "Access-Control-Allow- Origin" En-tête

Pour résoudre ce problème, vous devez ajouter l'en-tête "Access-Control-Allow-Origin" à la réponse du serveur. Cet en-tête spécifie quels domaines sont autorisés à accéder à la ressource.

Utilisation de la méthode addHeader

Au lieu d'utiliser la méthode setHeader, utilisez addHeader pour définir l'en-tête :

response.addHeader("Access-Control-Allow-Origin", "*");

Le paramètre "*" dans l'en-tête accorde l'accès à tous les domaines.

Autoriser des domaines spécifiques

Pour un accès à un domaine spécifique, utilisez :

response.addHeader("Access-Control-Allow-Origin", "http://www.example.com");

Liens de référence

  • [Article de blog sur le problème](lien vers l'article de blog)

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