2
我正在使用DataTables ajax來填充表格。我正在關注this example,它的工作原理是如果我的json看起來像他們的例子,但是我的'data'是我的json中的嵌套對象,然後無法填充表,因爲無法從json獲取值。關於嵌套數據的DataTables ajax
此JSON的工作原理:
{
"data": [
{"id": "myid1", "name": "name1"},
{"id": "myid2", "name": "name2"}
]
}
但我的JSON看起來像這一點,這是行不通的
{
"result": {
"data": [
{"id": "myid1", "name": "name1"},
{"id": "myid2", "name": "name2"}
]
}
}
這是我的HTML(與第一JSON作品):
<table id="myTable" class="tabletable-bordered dataTable">
<thead>
<tr>
<th>name</th>
<th>id</th>
</tr>
</thead>
<tbody>
<td></td>
<td></td>
</tbody>
</table>
這就是我的js:
$('#myTable').DataTable({
"ajax": "/names",
"processing": true,
"dataSrc" : "result.data",
"columns": [
{ "data": "name" },
{ "data": "id" }
]
});
正如您所看到的,我嘗試通過將dataSrc
設置爲result.data
來訪問我的嵌套data
,但表中未顯示任何內容。
我不能改變json響應的格式,你知道如果不能用這個json使用DataTables ajax嗎?謝謝!
我的解決方案
最後,我用以下解決方案去(得到一個答案,我的職務之前),我首先做一個Ajax調用,然後在成功創建我的DataTable。
所以我只能改變我的js這一個:
$.ajax({
type: "GET",
url: '/names',
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (data) {
var myData = data.result.data;
$('#myTable').DataTable({
"data": myData,
"columns": [
{ "data": "id" },
{ "data": "name"},
]
});
}
});