Maison > interface Web > js tutoriel > Pourquoi ma requête jQuery AJAX JSONP ne parvient-elle pas à renvoyer les données d'une source inter-domaines ?

Pourquoi ma requête jQuery AJAX JSONP ne parvient-elle pas à renvoyer les données d'une source inter-domaines ?

Linda Hamilton
Libérer: 2024-11-19 08:51:02
original
671 Les gens l'ont consulté

Why is my jQuery AJAX JSONP request failing to return data from a cross-domain source?

Créer une requête JSONP AJAX inter-domaines avec jQuery

Explication du problème

Lors de la tentative d'analyse des données d'un tableau JSON à l'aide de jQuery AJAX avec le code fourni, l'utilisateur ne reçoit aucune sortie.

Concept Explication

Les appels AJAX inter-domaines nécessitent que le service Web prenne en charge l'injection de méthode pour que JSONP fonctionne. Le code client semble valide, mais le problème peut résider dans le domaine de l'application Web et du service Web.

Lors de l'utilisation du dataType de jQuery : 'jsonp', un paramètre ?callback={some_random_dynamically_generated_method} est ajouté au URL de requête. Cette méthode agit comme un proxy dans l'objet window, similaire à :

window.some_random_dynamically_generated_method = function(actualJsonpData) {
  successCallback(actualJsonData); // Calls the success function passed to $.ajax
}
Copier après la connexion

Modification côté serveur

Pour résoudre le problème, le code côté serveur doit être modifié pour envelopper le JSON. données dans un nom de fonction qui correspond à celui transmis avec la chaîne de requête. Par exemple, si la chaîne de requête inclut ?callback=my_callback_method, la réponse du serveur doit être :

my_callback_method({your json serialized data})
Copier après la connexion

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