jquery ajax 200 OK JSON.ParseError
Ich habe ein control, eine textbox, die, wenn sich Ihr Inhalt ändert, wird tricker diese javascript-Funktion:
page
parameter ist document.URL
wie die Steuerung ist nicht angebracht .asxc Seite und fieldValue
ist der Wert der 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);
}
});
};
Hält es wirft diese Fehlermeldung:
jqXHR: 200
textStatus: parsererror
errorThrown: SyntaxError: JSON.parse: unexpected character
Den code für 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;
}
Ich habe versucht, die änderung json
im ajax jsonp
, aber der gleiche Fehler ist aufgetreten.
Ich habe versucht, ändern Sie das format der data
.
Irgendwelche Ideen?
Was bedeutet die Antwort Aussehen?
Versuchen, Sie zu entfernen
Dieser arbeitete. Kannst du bitte posten Sie Ihren Kommentar als eine Antwort, damit ich es machen kann, als Antwort.
Ziga: Super..ich werde es jetzt tun
Versuchen, Sie zu entfernen
contentType
und dataType
von Ajax-Parameter und lassen Sie Sie automatisch erkannt werdenDieser arbeitete. Kannst du bitte posten Sie Ihren Kommentar als eine Antwort, damit ich es machen kann, als Antwort.
Ziga: Super..ich werde es jetzt tun
InformationsquelleAutor | 2013-04-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Versuchen, Sie zu entfernen
contentType
unddataType
von Ajax-Parameter und lassen Sie Sie automatisch erkannt werdenIch arbeitete für 2 Tage versucht JEDER die "Lösung" für dieses problem. Ihr Vorschlag war der, dass es fest für mich. Ich danke Ihnen sehr.
ich bin froh, dass es dir geholfen!
InformationsquelleAutor Catalin
Hatte das gleiche problem mit AJAX 'post' - Befehl.
Schickte einen JSON-post request, habe ein 200 OK repsponse aber textStatus war
parseerror
und errorThrown warSyntaxError: JSON.parse: unexpected character
.Dies ist mein JS-code:
Das problem war, dass mein server view (Django) lieferte eine leere Antwort, die war nicht eine JSON-Antwort.
Änderte ich meine server-Ansicht, um eine leere json-Antwort und alles funktioniert gut!
InformationsquelleAutor o_c
Nicht sicher [WebMethod], aber es scheint, dass das problem ist da, und es ist im Zusammenhang mit der Ausgabe von dieser Methode. Es hat eine wohlgeformte JSON für ajax-Methode zu arbeiten.
Also, was ich tun würde, ist zu prüfen, rufen, dass in einem separaten Fenster zu sehen, die Verantwortung und verwenden Sie so etwas wie http://jsonlint.com/ um sicherzustellen, dass es wohlgeformt ist.
InformationsquelleAutor 4NDR01D3