Question

J'ai déterminé que mon JSON, provenant du serveur, est valide (l'appel manuel ajax est manuel), mais j'aimerais vraiment utiliser JQuery. J'ai également déterminé que le "post" L'URL, étant envoyé au serveur, est correct, en utilisant firebug. Cependant, le rappel d'erreur est toujours déclenché (erreur d'analyse). J'ai aussi essayé le type de données: text.

Existe-t-il d'autres options à 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
Était-ce utile?

La solution

Voici quelques suggestions que je voudrais essayer:

1) L'option 'type de données' que vous avez spécifiée doit être 'type de données' (sensible à la casse, je crois)

2) essayez d'utiliser l'option 'contentType' comme suit:

contentType: "application/json; charset=utf-8"

Je ne sais pas dans quelle mesure cela vous aidera, car il est utilisé dans la requête de votre URL de publication, pas dans la réponse. Voir cet article pour plus d'informations: http://encosia.com/2008/06/05/3-mistakes-to-avoid-when-using-jquery-with-aspnet-ajax (Il est écrit pour asp.net, mais peut s'appliquer)

3) Vérifiez trois fois la sortie de votre URL de publication et exécutez-la via un validateur JSON pour vous assurer qu'elle est valide et peut être analysée dans un objet JSON. http://www.jsonlint.com

J'espère que cela vous aidera!

Autres conseils

Pourquoi myResult au lieu de demande ?

success: function(request) {
                alert(myResult.length);
            }

Le paramètre data est incorrect. Voici un exemple qui fonctionne:

données: {index: ddl.selectedIndex},

Ceci construit un objet avec une propriété appelée index avec la valeur ddl.selectedIndex.

Vous devez supprimer les guillemets de votre ligne de paramètre de données

.

bonne chance Un

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top