2011-08-23 3 views
21

I par chrome->Inspect element->console obtenir cette erreur:XMLHttpRequest ne peut pas charger.?

XMLHttpRequest cannot load. Origin is not allowed by Access-Control-Allow-Origin.

Qu'est-ce que cette résolu?

+0

Voir http://en.wikipedia.org/wiki/Same_origin_policy pour le fond. Si vous cherchez une solution de contournement, vous devez ajouter plus de détails sur ce que vous faites. –

+1

Le serveur n'autorise pas les demandes d'origine croisée. Informations générales: http://en.wikipedia.org/wiki/Cross-Origin_Resource_Sharing – sethobrien

+0

[je l'espère, vous aider à] [1] [cliquez] [2] [1] http://stackoverflow.com/questions/3828982/xmlhttprequest-cannot-load-an-url-with-jquery [2]: http://stackoverflow.com/questions/22230520/no-access-control- allow-origin-header-est-présent-sur-le-noeud-de-requête-demandé c'est l'idée ... – Cherryishappy

Répondre

17

Vous ne pouvez pas envoyer de demandes via XMLHttpRequest à d'autres domaines ou sous-domaines. Si vous émettez la demande depuis www.foo.com, vous devez également cibler la demande sur www.foo.com et ne pas omettre le www.

Si vous avez vraiment besoin de frapper un autre domaine, vous pouvez utiliser JsonP où le navigateur utilise la capacité <script> tags pour charger des scripts d'un domaine différent. Le script chargé exécute ensuite une fonction de rappel pour vous donner les données. Mais pour les appels AJAX réguliers, vous ne pouvez pas quitter le domaine source.

Voir l'article Wiki sur Same Origin Policy

+1

Cette réponse m'a vraiment aidé. Merci Tigraine – okconfused

5

Un travail consiste à utiliser Korz qui achemine toutes les demandes d'origine croisée par l'intermédiaire d'un tiers et définit Access-Control-Allow-Origin header sur '*' afin que la requête soit transmise.

+0

Intéressant ... cela a fonctionné pour des tests rapides –

+4

Si cela a fonctionné, vous devriez upvote la réponse. – Stunner

Questions connexes