SyntaxError: JSON.parse: unerwartetes Zeichen in Zeile 1 Spalte 2 der JSON-Daten - FireBug meldet diesen Fehler. Irgendeine Lösungsmöglichkeit? [Duplikat]

8

Ich habe Laravel Response :: json verwendet, um eine JSON-Antwort zu generieren.

%Vor%

Wenn ich die Anfrage ausführe, erhalte ich eine gültige JSON (getestet in JSONLint) als Antwort.

Aber die folgende jQuery-Methode schlägt fehl: $.parseJSON(data)

Ich bekomme den folgenden Fehler in FireBug:

  

SyntaxError: JSON.parse: unerwartetes Zeichen in Zeile 1 Spalte 2 der JSON-Daten

Die Antwort, die ich erhalte:

%Vor%

Und der Code, wo ich es analysieren will:

%Vor%     
Faizuddin Mohammed 20.04.2015, 07:12
quelle

1 Antwort

19

Wenn Sie die $.parseJSON(data) in einem Ajax-Success-Handler verwenden Da Sie die $.parseJSON(data) in einem Ajax-Success-Handler ausführen, ist das Problem fast sicher, dass jQuery hat schon geparst es für dich. jQuery schaut sich die Content-Type der Antwort an und analysiert sie, wenn sie application/json ist, und liefert das geparste Ergebnis an Ihren Erfolgs-Handler. Das erste, was passieren wird, wenn Sie das in $.parseJSON übergeben, ist, dass es wieder in eine Zeichenkette konvertiert wird ( "[object Object]" , in Ihrem Fall), was $.parseJSON dann nicht parsen kann.

Verwenden Sie einfach data wie es ist, dank des automatischen Parsens ist es bereits ein Objekt:

%Vor%     
T.J. Crowder 20.04.2015, 07:19
quelle

Tags und Links