2016-04-26 19 views
2

Nach vielen Verlockungen und nach dem Lesen viele Beiträge über Ich kann meine SQL-Felder mit Jquery noch nicht lesen. Mein PHP-Code, der mit einem db verbindet und bekommt einige Daten, gibt die folgende Verwendung echo json_encode($html);:Zugriff auf mySQL Felder mit Ajax und PHP

{"id":"1","title":"this_is_title","description":"this_is_description","url":"this_is_url"} 

ich dann versuchen, die einzelnen Felder zu lesen, aber ich erhalte immer „undefined“. Zum Beispiel:

$.getJSON("get.php", function(result) { 
    $.each(result, function(key, field){ 
     console.log(field.title); 
    }); 
}); 

Wenn ich einfach verwenden field statt field.title es funktioniert, aber ich alle Felder (natürlich).

Antwort

0

Ihre JSON-Daten nur ein einziges Objekt enthält, nicht ein Array von Objekten.

Sie sind mit $.each innerhalb dieses JSON-Objekt über jede Eigenschaft iteriert, so innerhalb dieser Callback-Funktion key der Eigenschaftsname sein und field wird die Eigenschaft Wert sein.

Konsole anmelden rufen, um diese Änderung:

console.log(field); 

und Sie den Unterschied sehen kann, wird der Wert der Immobilie angemeldet sein.

Sie können die Eigenschaften des JSON direkt zugreifen, wie so:

$.getJSON("get.php", function(result) { 
    console.log(result.id); 
    console.log(result.title); 
    // etc 
}); 
+0

Ok, gut. Aber wie kann ich auf mySQL-Felder nach Feldnamen zugreifen? Ich habe Codes gesehen, die die Notation 'field.title' verwenden. – Nicero

+0

Sie müssen nicht '$ .each' verwenden, um über sie zu iterieren. Entferne diesen Teil und benutze einfach 'result.id',' result.title' und so weiter – danjam

0

die Sie interessieren, benutzen Sie parseJSON und dann versuchen, Zugang:

$.getJSON("get.php", function(result) { 
    var obj = JSON.parse(result); 
    $.each(obj, function(key, field){ 
    console.log(key); // here you will get index like id,title 
    console.log(field); // here you will get value 
    }); 
}); 
+0

Ich bekomme -> SyntaxError: JSON.parse: unerwartetes Zeichen in Zeile 1 Spalte 2 der JSON-Daten. Wo könnten Json Daten falsch sein? – Nicero

+0

Ok try var obj = JSON.parse (Ergebnis) –

+0

Ich habe auch die Antwort aktualisiert, siehe auch –

3

Wenn nur ein einzelnes Objekt wird dann können Sie leicht jedes Feld zugreifen. Sie kennen die Feldnamen bereits, also verwenden Sie sie.