J'essaie d'effectuer une simple tentative jQuery AJAX en utilisant un .get() ou un .post().Comment utiliser jQuery AJAX pour un domaine extérieur?
Si j'ai une copie locale sur mon serveur et faire:
$.get('/hash.php',...,...)
Je moniteur dans ma console Firebug que le get est fait et je reçois une réponse.
Tout ce que je change est l'URI à un serveur extérieur et rien ne se passe. Ne pas aider si je supprime le 's' ou si j'utilise le poste à la place. Ai-je manqué un paramètre que je devrais utiliser dans jQuery? J'ai oublié de mentionner la raison pour laquelle je suis en train de migrer d'un site PHP4 vers un site PHP5, mais pour l'instant le site PHP4 en direct a besoin d'une fonction qui n'est pas en PHP4. J'appelle donc un serveur PHP5 pour le faire. Je pense que j'ai une bonne solution de contournement. Merci!
Vous pouvez utiliser 'jsonp', qui est juste une version glorifiée de la solution de tag'
Javascript ne peut pas accéder à un serveur en dehors de l'endroit d'origine du fichier javascript.
Ceci est une caractéristique de sécurité.
En fonction de la spécificité du navigateur que vous souhaitez obtenir, vous pouvez contourner ce problème, mais cela devient un peu glissant.
Source
2009-09-28 21:10:02
Vous ne pouvez pas effectuer de requêtes inter-domaines inter-domaines directement, cela poserait un problème de sécurité.
Vous devrez appeler votre fichier php local depuis jquery et faire en sorte que le fichier php communique avec l'autre domaine.
Source
2009-09-28 21:11:13 AdamW
Il est vrai que vous ne pouvez normalement pas faire Ajax en dehors de votre domaine en raison des navigateurs. Cependant, en utilisant JSONP, il est possible de le faire. jQuery a également un paramètre jsonp pour Ajax maintenant. Pour que cela fonctionne, vous devez contrôler la sortie du serveur.
Source
2009-09-28 21:20:50 googletorp
Il existe une méthode appelée JSONP qui est utilisée pour contourner cela. Voir la 2ème réponse sur SO #570100
Source
2009-09-28 21:23:04