Question

J'essaie de lancer une demande de données à partir d'un site Web externe avec une API.

Si je copie la demande de la demande dans mon navigateur Web, cela fonctionne bien. Exemple tel que (http://example.com/json/user/search/all) Je peux voir les résultats dans la fenêtre du navigateur.

Cependant, j'essaie de lancer cette requête à partir d'un site Web et je rencontre un problème: en utilisant un javascript comme ceci: var req = new xmlhttprequest (); req.open («get», aboverionEdUrl, true) req.send ()

J'obtiens une erreur qui se lit: Origin (MyDomain) n'est pas autorisé par le contrôle d'accès Autoriser l'origine.

Encore une fois, je suis assez nouveau dans XMLHTTPREQUESTS et je pense que c'est assez simple à résoudre. Quelqu'un sait? (J'ai essayé de rechercher Google mais je n'ai pas pu trouver une bonne réponse) Merci d'avance.

Était-ce utile?

La solution

Vous n'êtes pas autorisé à faire Xmlhttprequests croisés et besoin d'utiliser un proxy pour l'accomplir.

Cet article De Yahoo l'explique en détail et donne plus d'idées sur la façon de le résoudre. Mais en gros, cela ne doit pas être fait parce que cette restriction existe à des fins de sécurité.

Ce serait mieux si vous utilisiez PHP et fopen() par exemple et simplement appelé cette page à l'aide de votre objet XMLHTTPRequest.

Autres conseils

Le problème est le politique d'origine homosexuelle. C'est une règle que XMLHTTPREQUESTS peut ne pas être utilisé sauf sur le même domaine que la page d'origine. C'est pour des raisons de sécurité.

Le moyen le plus simple est d'écrire un script côté serveur qui indique la demande pour vous.

Ceci est la protection de votre navigateur contre les scripts croisés. Vous n'êtes pas autorisé à accéder à d'autres pages provenant d'un domaine différent.

EDIT: Vérifiez également ceci: Xmlhttprequest cross-site

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top