ajax 'GET' appel renvoie jsonp ok, mais de rappel de produit 'undefined' données
Je suis de l'accès à une inter-domaine de l'utilisation d'un webservice.ajax jquery appel à partir d'une page html. Bien que je puisse voir le jsonp de données à l'aide de firebug, je ne suis pas en mesure de le charger dans une variable, ou même de l'afficher (à des fins de débogage). Les tentatives pour récupérer des données à l'aide de la jsonpCallback, de réussite et de remplir les fonctions de toujours 'undefined' /null données.
En fin de compte, j'ai besoin d'enregistrer les données dans des variables. Toute aide sera grandement appréciée!
$.ajax({
data: {
User: UserValue,
GUID: GUIDValue
},
cache: false,
dataType: "jsonp", //tried json
type: "GET",
crossDomain: true,
jsonp: false, //tried true
jsonpCallback: function (saveData) {
if (saveData == null) {
alert("DATA IS UNDEFINED!"); //displays every time
}
alert("Success is " + saveData); //'Success is undefined'
},
url: "http://localhost/NotifMOD/NotifService.svc/GetAllMessages?callback=success?",
async: false, //tried true
error: function (XMLHttpRequest, textStatus, errorThrown) {
console.log(textStatus, errorThrown);
},
complete: function (a, b) {
alert(a); //[object Object]
alert(b); //parseerror
}
});
OriginalL'auteur rsamoose | 2012-04-25
Vous devez vous connecter pour publier un commentaire.
En JSONP vous devez définir votre fonction dans votre code.
jsonpCallback doit être le nom de cette fonction, pas une fonction.
Voir http://api.jquery.com/jQuery.ajax/
Vous de faire comme ceci :
Le nom de la fonction (ici, "recevoir") doit être celle du début de la jsonp réponse. Il y avait une erreur dans mon code (en supposant que le serveur utilise le "rappel" de paramètre). L'url doit se terminer par "callback=recevoir".
Peut-être que ça va vous aider : un code open source que je fais. Client : github.com/Canop/braldop/blob/master/chrome/braldop/... et le serveur : github.com/Canop/braldop/blob/master/go/src/braldopserver/...
Cela ne fonctionne pas.
Cette réponse est à partir de 2012, c'est un moment où JSONP encore de sens. Il est maintenant 2017, JSONP est mort. Si vous trouvez une API vous obligeant à utiliser JSONP, utiliser une autre API.
OriginalL'auteur Denys Séguret