Maison > Article > interface Web > Pourquoi est-ce que j'obtiens l'erreur « Non en-tête Access-Control-Allow-Origin » ?
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
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!