2016-10-01 3 views
1

Ich schicke JSON-Array meine Ajax-Antwort und versuche, eine Tabelle mit Antwortdaten unter Verwendung von Datatable-Bibliothek, auf meiner Server-Seite drucken ich diesen Code verwendenPHP - JSON-Array in JavaScript Datatable Bibliothek

$products = array(
array('choc_cake', 'Chocolate Cake', 'scsdsf'), 
array('carrot_cake', 'Carrot Cake', 'sdfds'), 
array('cheese_cake', 'Cheese Cake', 'dsadas'), 
array('banana_bread', 'Banana Bread', 'dasdas') 
); 
header('Content-Type: application/json'); 
echo json_encode($products , JSON_PRETTY_PRINT); 

die produziert json wie [ [x,y,z],[x,y,z],[x,y,z] ] und ich Datatable Bibliothek Code JavaScript ajax-Antwort-String bin vorbei, das ist:

var saman = hr.responseText.trim(); 
$('#example').DataTable({ 
    data: saman, 
    columns: [ 
     { title: "Name" }, 
     { title: "Position" }, 
     { title: "Office" } 
    ] 
}); 

aber dieser Code mir geben this error

+0

Könnten Sie die Ausgabe von 'console.log (saman)' nach der ersten Zeile Ihres Beispiel-JS-Codes ausgeben? –

Antwort

0

Soll Saman ein Array oder eine Saite sein?

Wenn Array, bitte:

var saman = eval(hr.responseText.trim()); 

oder es ist nur eine Zeichenfolge.

Erinnern Sie sich: egal, was php ausgibt, es ist nur ein Text, kein Live-Code, so müssen Sie eval verwenden, um es zu einem Array zu analysieren.