JSON Parse Error: unexpected end of data at line 1 column 1 of the JSON data

Ich habe eine Datenbank, analysis.php und index.php Webseiten. Die analysis.php ruft die Daten aus der Datenbank und sortiert Sie in einer vorgeschriebenen Muster, und dann hallt der json_encode($array); in eine div mit der id "Daten". Ich bin versucht zu bekommen, dass die JSON-Daten und analysieren Sie diese in der index.php Seite.

Aber ich erhalte eine Fehlermeldung. SyntaxError: JSON.parse: unexpected end of data at line 1 column 1 of the JSON data

Ich versuche, diese Daten jedesmal, wenn der Benutzer wählt eine option aus einem select-Feld.

Mein jQuery-code ist:

$(document.body).on('change', '.select' , function () {
    var identification = $(this).val();
    var JSONText = $(this).closest('div[id|="module"]').find('p[id="JSON"]');
    JSONText.load('analysis.php?data=' + identification + ' #data');
    console.log("JSON Imported: '" + identification + "'");
    var obj = jQuery.parseJSON(JSONText.text());
    console.log(JSONText.text());
});

EDIT: Wie Sie sehen können, habe ich das snippet console.log(JSON.text());. Die Ausgabe der JSON, das ich bekomme, richtig ist. Das einzige Problem, das ich denken könnte ist, dass die Zitate sind alle " anstelle des JSON Anführungszeichen, die sich von den äußeren Anführungszeichen.

wie sieht dein json Aussehen ? Auch verwenden Sie nicht den Namen Ihrer Variablen JSON wie die Browser die nativen json-parser zugewiesen. Nur sehen diese, wtf machst du da ? jQuery.getJSON.
Überprüfen Sie die Konsole für die XHR-von analysis.php. Die JSON-Antwort ist unvollständig, mit zu beginnen.
Die JSON-Antwort scheint gültig. Ich habe überprüft deren Gültigkeit auf jsonlint.com.
beim Aufruf jQuery.load Sie starten den Download der JSON vom server, aber der andere code ausgeführt wird, direkt danach, also bevor der download abgeschlossen ist, daher die Bezeichnung "asynchron". So müssen Sie den kompletten Rückruf, um sicherzugehen, dass Ihre Daten tatsächlich geladen.
Nein, die "laden Sie als html -, insert into dom, abrufen text ist gefährlich". Ich habe ein Beispiel zur Verdeutlichung die korrekte Verwendung.

InformationsquelleAutor shadoweye14 | 2015-03-27

Schreibe einen Kommentar