Impossible de recevoir JSON à partir de JQuery appel ajax
J'ai décidé que mes JSON, en provenance du serveur, est valide (prise de l'appel ajax manuellement), mais je voudrais vraiment utiliser JQuery. J'ai également déterminé que le "post", url, d'être envoyé sur le serveur, elle est correcte, à l'aide de firebug. Cependant, l'erreur de rappel est toujours déclenché (parsererror). J'ai aussi essayé de type de données: texte.
Existe-il d'autres options que je devrais inclure?
$(function() {
$("#submit").bind("click", function() {
$.ajax({
type: "post",
url: "http://myServer/cgi-bin/broker" ,
datatype: "json",
data: {'start' : start,'end' : end},
error: function(request,error){
alert(error);
},
success: function(request) {
alert(request.length);
}
}); //End ajax
}); //End bind
}); //End eventlistener
OriginalL'auteur Jay Corbett | 2008-09-17
Vous devez vous connecter pour publier un commentaire.
Ici sont quelques suggestions que je voudrais essayer:
1) le 'type' de l'option que vous avez spécifié devrait être de "type de données" (sensible à la casse je crois)
2), essayez d'utiliser le 'contentType' option de la manière suivante:
Je ne suis pas sûr de savoir comment beaucoup de qui aidera comme il est utilisé dans la demande à votre url de message, pas dans la réponse.
Voir cet article pour plus d'info: http://encosia.com/2008/06/05/3-mistakes-to-avoid-when-using-jquery-with-aspnet-ajax
(Il est écrit pour les asp.net mais peut être applicable)
3) Triple vérifiez la sortie de votre url de message et exécuter la sortie par l'intermédiaire d'un JSON validateur pour être absolument sûr que c'est valable et peut être analysé dans un objet JSON. http://www.jsonlint.com
Espère que cela aide!
Juste une remarque, paramètre de type de données "json" définit automatiquement le contentType "application/json".
correct d'après les docs. Cependant, peut-être utile de noter: je suis en train de travailler avec jquery 1.6.4 atm et l'ai trouvé j'ai besoin de définir explicitement les contentType: "application/json; charset=utf-8"
OriginalL'auteur
Pourquoi
myResult
au lieu derequest
?OriginalL'auteur
Le paramètre de données est incorrect. Voici un exemple qui fonctionne:
données: { index: ddl.selectedIndex },
Ce contructs un objet avec le propriété appelée indice de valeur ddl.selectedIndex.
Vous devez supprimer les citations de vos données de paramètre de ligne de
Bonne chance
Un
"class"
, qui doit être cité comme c'est un mot réservé. Dans la syntaxe JSON c'est même une exigence pour l'emballage de tous les noms de propriété entre des guillemets doubles.OriginalL'auteur