使用jQuery及其插件DataTables,发现一点异常行为;如果我有一个对象,它会安静地工作;但是,如果我有一个普通数组,则出现短语:“表格中没有可用的数据”。
我找到了显示普通数组内容的解决方案:
"ajax": {
"url": "./pages/tabledata.php",
"dataSrc": ""
}
但当然在主题的情况下,脚本不起作用并且给我回到上面给出的短语。
我的问题是:
您可以更改附加的代码以检查对象是否是普通数组?
提前致谢
$(document).ready(function() {
if ($('#mytable').length) {
$('#mytable').dataTable({
"ajax": "./pages/tabledata.php",
"columns": [
{"data": "id", "visible": false, "searchable": false},
{"data": "code"},
{"data": "name"}
],
"order": [ 1, 'asc']
})
}
});
<script src="https://cdn.datatables.net/1.10.4/js/jquery.dataTables.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<table id="mytable" class="display">
<thead>
<tr>
<th>ID</th>
<th>Code of Data</th>
<th>Name User</th>
</tr>
</thead>
</table>
对象的JSON:
{
"data":[
{
"id":"1",
"code":"PRF00001",
"name":"Test 1"
},{
"id":"2",
"code":"PRF00002",
"name":"Test 2"
}
]
}
普通数组的JSON:
{
"data":{
"id":"1",
"code":"PRFS00001",
"name":"Test 1"
}
}
答案 0 :(得分:0)
您的问题是数据表无法识别&#34;数据&#34;从普通数组格式作为数组,所以没有列出任何东西,因为它是一个对象。
但如果您将格式更改为:
{
"data": [ //<=
{
"id":"1",
"code":"PRFS00001",
"name":"Test 1"
}
] //<=
}
然后你会看到数据再次出现。
我在这里为你做了一个小提琴:http://jsfiddle.net/9chxhmk2/
这里是对数据表的已识别json格式的引用:http://datatables.net/release-datatables/examples/server_side/post.html