"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Pourquoi est-ce que j'obtiens des erreurs \"No \'Access-Control-Allow-Origin\' Header\" lors de l'accès à des fichiers XML à partir de différents domaines ?

Pourquoi est-ce que j'obtiens des erreurs \"No \'Access-Control-Allow-Origin\' Header\" lors de l'accès à des fichiers XML à partir de différents domaines ?

Publié le 2024-11-20
Parcourir:475

Why Do I Get \

Erreur XML jQuery : "Aucun en-tête 'Access-Control-Allow-Origin' n'est présent sur la ressource demandée"

Lors de la tentative de Si vous accédez à un fichier XML situé sur un domaine différent à l'aide de jQuery, vous pouvez rencontrer le message d'erreur : "Aucun en-tête 'Access-Control-Allow-Origin' n'est présent sur la ressource demandée." Cette erreur se produit en raison de la politique de même origine, qui restreint les appels AJAX d'origine croisée.

Comprendre la politique de même origine

La politique de même origine impose que les navigateurs Web autorisent uniquement les appels AJAX vers des services hébergés sur le même domaine que la page HTML effectuant la demande. Dans l'exemple donné, la page HTML est hébergée sur http://run.jsbin.com/, tandis que le fichier XML se trouve sur http://www.ecb.europa.eu/, ce qui entraîne une requête d'origine croisée qui est bloqué par le navigateur.

Activation des requêtes cross-origin (CORS)

Pour autoriser les requêtes cross-origin, un serveur doit inclure les en-têtes appropriés dans sa réponse. L'un de ces en-têtes est l'en-tête Access-Control-Allow-Origin, qui spécifie les origines autorisées à accéder à la ressource.

Dans le cas du fichier XML, le serveur de la BCE ne fournit pas le CORS nécessaire. en-têtes, d'où le message d'erreur. Pour résoudre ce problème, le serveur doit être configuré pour inclure les en-têtes suivants :

Access-Control-Allow-Origin: http://run.jsbin.com
Access-Control-Allow-Methods: GET
Access-Control-Allow-Headers: Content-Type

Remarque sur les demandes de contrôle en amont

Dans certains cas, par exemple lors de requêtes POST avec des en-têtes non simples, le Le navigateur peut effectuer une requête de contrôle en amont OPTIONS pour déterminer si le serveur prend en charge CORS pour la requête spécifique. Si la réponse du serveur à cette requête de contrôle en amont ne contient pas les en-têtes CORS appropriés, la requête principale échouera avec le même message d'erreur. Il est donc important d'inclure les en-têtes nécessaires dans les réponses aux demandes de contrôle en amont et principales.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3