使用PHP v8.1.6和SQLITE 3.39.4以及jQuery Datatable。我从php脚本中得到的json没有绑定到表。
获取数据的脚本:
$db = new SQLite3('mealplan.db');
$results = $db->query('SELECT id, [name] FROM mealType;');
while ($row = $results->fetchArray(SQLITE3_ASSOC)) {
$jsonArray[] = $row;
}
echo json_encode($jsonArray)
设置数据表的javascript:
$(document).ready(function(){
$('#tbl').DataTable({
processing: true,
serverSide: true,
ajax:'processing.php',
columns: [
{ data: "id" },
{ data: "name" }
]
});
});
在网络选项卡中,这是我从php脚本中获得的原始json:
[{"id":1,"name":"Snack"},{"id":2,"name":"Dinner"},{"id":3,"name":"Lunch"},{"id":4,"name":"Breakfast"},{"id":5,"name":"Sweets"},{"id":6,"name":"Drinks"}]
数据表被呈现为具有所有可数据化的特性,它只是空的。
我在这里错过了什么?
解决方案。我的问题是ajax属性中没有dataSrc属性。以下是工作javascript:
$('#tbl').DataTable({
ajax:{url:'processing.php',dataSrc:""},
columns: [
{ data: "id" },
{ data: "name" },
]
});