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 ?
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.
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 }
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})
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!