Maison >interface Web >js tutoriel >Comment puis-je résoudre le problème de communication entre domaines AJAX ?
Communication entre domaines HTTP : un dilemme AJAX
XMLHttpRequest, l'épine dorsale de la technologie AJAX, applique une politique inter-domaines qui entrave la communication directe communication avec des serveurs externes. Toute tentative de récupération de données d'un domaine différent à l'aide d'une requête AJAX entraîne une erreur d'accessibilité.
Pour surmonter cette restriction, JSONP a été introduit. Cependant, il introduit souvent des erreurs syntaxiques dues à la non-concordance entre le format JSON attendu et les données reçues.
La seule solution viable : un proxy côté serveur
Le La solution la plus pratique consiste à utiliser un langage côté serveur comme proxy. Cette technique vous permet d'accéder indirectement aux données inter-domaines via un script intermédiaire exécuté sur votre serveur.
Implémentation à l'aide de jQuery et PHP
Pour implémenter une donnée inter-domaine récupération à l'aide de jQuery et PHP :
jQuery Portion :
$.ajax({ url: 'proxy.php', type: 'POST', data: { address: 'http://www.google.com' }, success: function(response) { // response now contains full HTML of google.com } });
Proxy PHP (proxy.php) :
echo file_get_contents($_POST['address']);
En utilisant cette approche, vous pouvez accéder et afficher efficacement les données de domaines étrangers tout en adhérant à la politique inter-domaines AJAX. Soyez conscient de toute restriction ou problème potentiel avec les données récupérées.
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!