Maison >interface Web >js tutoriel >Comment puis-je réussir à effectuer des requêtes AJAX JSONP inter-domaines avec jQuery ?
Faire des requêtes AJAX JSONP inter-domaines avec jQuery
Lorsque vous essayez d'analyser les données d'un tableau JSON à l'aide de jQuery ajax cross-domain, il est essentiel de notez que le serveur distant hébergeant les données doit prendre en charge l'injection de méthode pour que JSONP fonctionne correctement.
Dans votre code, le bloc suivant initie une requête AJAX en utilisant dataType : 'jsonp' :
$.ajax({ type: "GET", url: "http://10.211.2.219:8080/SampleWebService/sample.do", dataType: "jsonp", success: function (xml) { alert(xml.data[0].city); result = xml.code; document.myform.result1.value = result; }, });
Lorsque jQuery exécute cette requête, il ajoute ?callback={some_random_dynamically_generated_method} à l'URL. Cette méthode, généralement attachée à l'objet window, agit comme un proxy et ressemble à ceci :
window.some_random_dynamically_generated_method = function(actualJsonpData) { // Calls the success callback successCallback(actualJsonData); }
Bien que votre code côté client semble correct, il est impératif de modifier votre code côté serveur pour envelopper votre Données JSON avec le nom de la fonction transmis via la chaîne de requête. Par exemple, si l'URL de la requête inclut ?callback=my_callback_method, le serveur doit répondre avec des données JSON enveloppées dans la structure suivante :
my_callback_method({your json serialized data});
Cela garantit que les données JSON sont analysées avec succès et mises à la disposition de votre client. -code latéral.
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!