Maison > interface Web > js tutoriel > Comment puis-je réussir à effectuer des requêtes AJAX JSONP inter-domaines avec jQuery ?

Comment puis-je réussir à effectuer des requêtes AJAX JSONP inter-domaines avec jQuery ?

Mary-Kate Olsen
Libérer: 2024-11-19 05:28:02
original
359 Les gens l'ont consulté

How Can I Successfully Make Cross-Domain AJAX JSONP Requests with 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;
    },
});
Copier après la connexion

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);
}
Copier après la connexion

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});
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal