Json_encode von js nicht erkannt

finbey

Mitglied
Hi,

Ich habe folgendes Problem und keine Ahnung warum es nicht klappt, normalerweise funktioniert es ja (oder ich stehe hier grad einfach nur hart auf den Schlauch).

Also:

Ich poste per Jquery.post Daten an ein Php script und hole mir dort zeug aus der DB. Das Mehrdimensionale Array, packe ich dann in ein json_encode und gebe es per echo an jQuery zurück.

Dort, habe ich dann in etwa sowas zurück, was noch richtig sein sollte:

Code:
[{"id":"1","time":"2013-08-21 15:57:30","url":"http:\/\/www.finbey.de","views":"67","from":"1"},
{"id":"2","time":"2013-08-21 15:57:30","url":"www.google.de","views":"67","from":"1"},
{"id":"3","time":"2013-08-21 15:57:30","url":"www.eins.de","views":"67","from":"0"},
{"id":"4","time":"2013-08-21 15:57:30","url":"www.fuenf.de","views":"67","from":"0"}]


allerdings kann ich per js einfach nicht drauf zugreifen. Wenn ich auf data (wo es drin is) zugreife, behandelt er das Array als String und ich komme nicht drauf was ich falsch mache.

lG und dane für die Hilfe schonmal im Vorraus
Finbey
 
Okay, habe den fehler gefunen. Wenn man mit JQuery.post arbeitet gibt es zwei "success"-funktionen

einmal ein .done
wie hier

Code:
$.post("<?php echo URL;?>/loadnew.php", { uid: 1})
    .done(function(data) {
        console.log(data);
        alert(data[0]);
});

und dann die

Code:
$.post("<?php echo URL;?>/loadnew.php", { uid: 1},
    function(data){
         console.log(data);
         alert(data[0].id);
}, "json");

Da muss also der JSON Typ mit angegeben sein. Bei der .done funktion ist das nicht möglich.
 
Zurück