jquery ajax 200 OK JSON.ParseError
J'ai un contrôle qui a une zone de texte qui, lorsque son contenu est modifié, sera plus difficile cette fonction javascript:
page
paramètre est document.URL
que le contrôle n'a pas de joint .asxc page et fieldValue
est la valeur de la textbox.
function UpdateFieldsOnListSelection(page, fieldValue) {
$.ajax({
type: "POST",
url: page + "/IsSelectedListPictureLibrary",
data: { "libraryInfo": fieldValue },
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
alert("Success!");
},
error: function (jqXHR, textStatus, errorThrown) {
alert("jqXHR: " + jqXHR.status + "\ntextStatus: " + textStatus + "\nerrorThrown: " + errorThrown);
}
});
};
Il garde lancer cette erreur:
jqXHR: 200
textStatus: parsererror
errorThrown: SyntaxError: JSON.analyser: caractère inattendu
Le code pour IsSelectedListPictureLibrary
:
[WebMethod]
public static bool IsSelectedListPictureLibrary(string libraryInfo)
{
if (string.IsNullOrEmpty(libraryInfo)) return false;
var common = new Utility();
var storedLibraryInfo = common.GetStoredLibraryInfo(libraryInfo);
if (storedLibraryInfo == null) return false;
var web = SPContext.Current.Site.OpenWeb(storedLibraryInfo.WebId);
var spList = web.Lists[storedLibraryInfo.LibraryId];
if (spList.BaseTemplate == SPListTemplateType.PictureLibrary)
{
web.Dispose();
return true;
}
web.Dispose();
return false;
}
J'ai essayé de changer json
dans l'ajax de jsonp
, mais toujours la même erreur s'est produite.
J'ai essayé de changer le format de data
.
Des idées?
Quelle est la réponse?
Essayez de supprimer
Cela a fonctionné. Pouvez vous s'il vous plaît poster un commentaire comme une réponse si je peux apporter comme réponse.
Ziga: Super..je vais le faire maintenant
Essayez de supprimer
contentType
et dataType
de l'Ajax paramètres et de les laisser être identifié automatiquementCela a fonctionné. Pouvez vous s'il vous plaît poster un commentaire comme une réponse si je peux apporter comme réponse.
Ziga: Super..je vais le faire maintenant
OriginalL'auteur | 2013-04-15
Vous devez vous connecter pour publier un commentaire.
Essayez de supprimer
contentType
etdataType
de l'Ajax paramètres et de les laisser être identifié automatiquementJ'ai travaillé pendant 2 jours à essayer de tout le monde "solution" à ce problème. Votre suggestion a été celle qu'il fixe pour moi. Je vous remercie beaucoup.
je suis content que cela vous a aidé!
OriginalL'auteur Catalin
Eu le même problème avec l'AJAX 'post' de la commande.
Envoyé un JSON requête post, a obtenu un 200 OK repsponse mais textStatus était
parseerror
et errorThrown étaitSyntaxError: JSON.parse: unexpected character
.C'est mon code JS:
Le problème s'est avéré être que mon serveur (vue de Django) a renvoyé une réponse vide qui n'était pas une réponse JSON.
J'ai changé de serveur pour retourner un vide réponse json et tout fonctionne bien!
OriginalL'auteur o_c
Pas sûr à ce sujet [WebMethod], mais il semble que le problème est là, et elle est reliée à la sortie de cette méthode. Il doit être bien formé JSON pour l'ajax méthode de travail.
Donc, ce que je voudrais faire est de vérifier appel que dans une fenêtre séparée pour voir les responsables et d'utiliser quelque chose comme http://jsonlint.com/ pour s'assurer qu'il est bien formé.
OriginalL'auteur 4NDR01D3