SyntaxError: JSON.parse: Unerwartetes Zeichen in Zeile 1, Spalte 2 des JSON
Lesezeit: 2 Minuten
Ðr Ssamade
Ich muss dieses div an ein anderes div anhängen, aber es gibt mir diesen Fehler:
SyntaxError: JSON.parse: unerwartetes Zeichen in Zeile 1, Spalte 2 der JSON-Daten
Dies ist mein Javascript-Code:
var str = {'message': message,'text': text};
$.ajax({
type: "POST",
url: "api/reply",
data: str,
dataType: "json",
cache: false,
success: function(response)
{
var respons = jQuery.parseJSON(response);
var type = respons.status
if (type == 'success') {
$("<div></div>").html(respons.message).appendTo("#messages");
}
else
{
toastr.error(respons.message)
}
}
})
Das ist kein gültiges JSON. Führen Sie es über jsonlint.com aus, um es zu validieren
– charlietfl
16. Juli 2016 um 15:33 Uhr
Wenn Sie Ihren Code in JSBin werfen, sehen Sie sofort, dass Sie einige Syntaxfehler haben. Ich habe einen Test-API-Endpunkt und eine gefälschte Eingabe hinzugefügt, damit Sie dort damit spielen können: jsbin.com/sojibojetu/edit?html,js,Ausgabe
– Andru
16. Juli 2016 um 15:42 Uhr
Mögliches Duplikat von Ich bekomme immer wieder “Uncaught SyntaxError: Unexpected token o”
– Ketzeraffe
22. Juni 2017 um 19:15 Uhr
Alfredo EM
Einfach wechseln
var respons = jQuery.parseJSON(response);
zu
var respons = response;
Erläuterung:
Wenn die Konfiguration deines AJAX Calls hat dataType: json Sie erhalten ein JavaScript-Objekt, sodass JSON.parse() nicht mehr verwendet werden muss.
Dies ist eine hackige und unorthodoxe Art, JSON zu analysieren, aber wenn Sie es trotzdem verwenden möchten JSON.parse() aus einem AJAX-Aufruf oder einfach auf JSON, das bereits analysiert wurde und keine Zeichenfolge ist, können Sie verwenden JSON.stringify() im Inneren:
var respons = JSON.parse(JSON.stringify(response));
Sie haben Recht. aber ich glaube nicht, dass es dafür einen Anwendungsfall gibt.
– Kokul Jose
1. August 2020 um 13:46 Uhr
Ich habe meinen Fehler durch diese Anweisung behoben. var antworten = JSON.parse(JSON.stringify(antwort));
– Regnerische Tränen
2. Januar um 13:54 Uhr
Das Problem ist, dass Sie keine Zeichenfolge analysieren, sondern ein bereits analysiertes Objekt.
Die Werte in Ihrem Objekt scheinen undefiniert zu sein. Rückgeld var str = {'message': message,'text': text}; zu var str = {message: 'message',text: 'text'};
10950500cookie-checkSyntaxError: JSON.parse: Unerwartetes Zeichen in Zeile 1, Spalte 2 des JSONyes
Das ist kein gültiges JSON. Führen Sie es über jsonlint.com aus, um es zu validieren
– charlietfl
16. Juli 2016 um 15:33 Uhr
Wenn Sie Ihren Code in JSBin werfen, sehen Sie sofort, dass Sie einige Syntaxfehler haben. Ich habe einen Test-API-Endpunkt und eine gefälschte Eingabe hinzugefügt, damit Sie dort damit spielen können: jsbin.com/sojibojetu/edit?html,js,Ausgabe
– Andru
16. Juli 2016 um 15:42 Uhr
Mögliches Duplikat von Ich bekomme immer wieder “Uncaught SyntaxError: Unexpected token o”
– Ketzeraffe
22. Juni 2017 um 19:15 Uhr