AJAX JQuery, code d'État d'Erreur: 200, le Statut du Texte: parserorro | OK
Ici est une drôle de situation dans laquelle je suis.
Je suis l'élaboration d'un ASP.Net site web avec VS 2008 et .Net Framework 3.5, et je veux utiliser ajax de jquery dans une page de test, le code ressemble à ceci:
C# Method
[WebMethod]
public static string test()
{
return "Server Response" ;
}
$(document).ready(function() {
$("#myDiv").click(function() {
$.ajax({
type: "POST",
url: "AjaxTest.aspx/test",
data: "",
contentType: "application/json;charset=utf-8",
dataType: "json",
success: function(msg) {
//Replace the div's content with the page
//method's return.
alert(msg.d);
},
error: function(result){
alert("error occured. Status:" + result.status
+ ' --Status Text:' + result.statusText
+ " --Error Result:" + result);
}
});
});
});
Donc Quand j'utilise Jquery 1.4.4 comme ceci :
J'obtiens : Status 200; Status Text: OK
Lorsque j'utilise Jquery 1.5-je obtenir: Status 200; Status Text: Parsererror
J'ai donc créé un nouveau Site web dans Visual Studio, copier et transmis le code, et il fonctionne très bien !!!! Je ne peux pas comprendre ce qui cause le problème.
J'ai également utilisé des méthodes avec les paramètres et les données de réglage:"{}"
, et de suppression des données complètement, mais rien ne semble fonctionner.
Je ne sais pas si a rien à faire avec la DevExpress composants que j'utilise ou pas.
J'ai aussi trouvé une bonne réponse qui était de travailler avec l'ensemble de la méthode comme ceci :
complete: function(xhr, status) {
if (status === 'error' || !xhr.responseText) {
alert("Error");
}
else {
var data = xhr.responseText;
alert(data);
//...
}
}
Mais je ne sais pas si cela fonctionnera très bien ou il pourrait y avoir un autre problème avec cette méthode. Aussi, je ne sais pas comment accéder à des données de réponse à partir d'ici.
Mais ma principale préoccupation est de trouver ce qui cause le problème dans mon site web.
Mise à JOUR: eh Bien aujourd'hui, dans Google Chrome console, j'ai remarqué quelques problèmes de syntaxe avec JQuery 1.5
ils sont comme ci-dessous:
Uncaught SyntaxError: Unexpected token <
jQuery.jQuery.prolonger.globalEvaljquery.js:593
jQuery.ajaxSetup.convertisseurs de.texte scriptjquery.js:7175
ajaxConvertjquery.js:7074
donejquery.js:6622
jQuery.ajaxTransport.envoyer.callbackjquery.js:7441
OriginalL'auteur Ali | 2011-04-04
Vous devez vous connecter pour publier un commentaire.
La question n'est pas si facilement résolu avec un violon, bien que c'est un excellent outil.
Le problème je pense est décrit ici, et pour le moment d'utiliser l'événement complete.
il ya quelques problèmes qui seront résolus dans jQuery 1.5.1
Voir:
jQuery retour "parsererror" pour les requêtes ajax
comme il a été posté il y,
Bien que la chose intéressante est - ce qui fonctionne pour moi avec jsonp lors de la requête d'amazon service (code amazon était basé sur quelques autres de poster sur le net je n'ai pas la ref trop) ala:
Probablement à cause de la version jQuery différences.
Non, ils sont les mêmes !! J'essaie de jquery 1.5 et obtenir parsererror, sur les deux projets.
J'ai eu le même problème. Je pense que JsonP permet de charger des données à partir d'un domaine différent. Je n'ai trouvé que ce lien pour aider à soutenir mes conclusions. stackoverflow.com/questions/4683114/sending-jsonp-vs-json-data
Il n', Im en utilisant jsonp ci-dessus pour surmonter la question de la politique de même origine.
OriginalL'auteur Adam Tuliper - MSFT
Vous devez utiliser Fiddler - le grand web debugging proxy. Avec son aide vous pouvez regarder l'ensemble de la communication entre le serveur et le client
OriginalL'auteur archil
Ne sais pas si cela va aider, mais l'ajax() de l'API indique qu'ils ont changé le retour de l'objet pour la réussite() la fonction callback. C'est à partir de l'API jQuery
Vous pouvez le trouver ici, s'il permet à tous les...
$ajax jQuery API
Je suis confronté à un problème similaire, et je suis incapable de tirer l'objet JSON à partir des fonctions de rappel.
OriginalL'auteur TheJediCowboy
Je pense que vous pouvez trouver la réponse à cette question dans Ce Lien
OriginalL'auteur Ali
J'ai eu ce problème aussi, mais en PHP Quand je l'ai mis dans
'remote.php'
:problème se produit. Lorsque j'utilise
json_encode()
:ensuite, tout fonctionne.
Ce qui est étrange, parce que je reçois la réponse du serveur avec le statut "OK", alors la fonction de "succès" devrait fonctionner pas "erreur". Dans la "réussite" j'ai seulement
OriginalL'auteur pszemek
Dans mon cas (lors de l'utilisation de "jquery 1.9.1"), en ajoutant dataType: "json" résolu "parsererror" problème (je n'ai pas de spécifier le type de données avant et que le problème est survenu).
OriginalL'auteur user2275545
J'ai eu un problème similaire.
J'ai appelé en AJAX un service REST avec la méthode POST et suis de retour :
arguments[0] = 200 (OK) | arguments[1] = "parseerror" | arguments[2] = "Invalid JSON :"
Mon serveur renvoi de la méthode "void" de la valeur. Pour résoudre le problème, je l'ai remplacé par une valeur Booléenne, par exemple.
OriginalL'auteur Yannick