SyntaxError: JSON.parse: Unerwartetes Zeichen in Zeile 1, Spalte 2 des JSON

Lesezeit: 2 Minuten

Benutzer-Avatar
Ð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

Benutzer-Avatar
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'};

1095050cookie-checkSyntaxError: JSON.parse: Unerwartetes Zeichen in Zeile 1, Spalte 2 des JSON

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy