【发布时间】:2017-08-04 17:32:44
【问题描述】:
我每 1 分钟刷新一次页面,以保持数据新鲜。我需要摆脱这一点,最后让数据表重新加载而不是刷新浏览器。
从我的 $.post 开始:
$.post('api/displayQnams.php', function(data)
{
var table = $('example1').DataTable();
table.clear();
table.search('').draw();
var obj = JSON.parse(data);
obj.forEach(function(item)
{
table.row.add([item.bkgname, item.quote, item.date, item.urgent])
});
table.draw();
setInterval(function()
{
table.draw();
console.log('test');
}, 10000); // 10 second interval
});
上面的代码工作正常。 DataTable 打印到页面没有问题。
现在,在 $.post 上方,我设置了 DataTable。我不确定这是否是设置 DataTable 的最佳方式,但它确实提供了我需要的结果。
$(function()
{
$('#example1').DataTable({
"dataType": "json",
"iDisplayLength": 25,
"order": [[ 6, "desc" ]],
"scrollY": 550,
"scrollX": true,
"bDestroy": true,
"stateSave": true
});
});
还有一些 DataTable 样式,但我想保持简短。
回到我的第一段代码,我将间隔设置为 10 秒。我可以看到控制台每 10 秒打印一次“测试”,但表格没有重新加载。
为了让 DataTable 每 10 秒重新加载一次,我缺少什么?
编辑
这是表格的样子:
<table id="example1" class="table table-bordered table-hover table-condensed">
<thead>
<tr>
<th>column1</th>
<th>column2</th>
<th>column3</th>
</tr>
</thead>
<tbody>
<tr>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
【问题讨论】:
标签: javascript jquery json datatable datatables