我下面有一个代码,我已经尝试过了并且可以正常工作。
我要实现的目标是使用Ajax将数据加载到我的数据表中。
下面的代码正在工作,但是现在我每5到10秒刷新一次,以检查数据库中是否有新数据。
$(document).ready(function () {
$("#get_categories").DataTable({
"ajax": { //create an ajax request to display.php
"url": "process/get_categories.php",
"dataSrc": ""
},
"columns": [
{"data": "id"},
{"data": "name"},
{"data": "action"}
],
dom: 'Bfrtip',
buttons: [
'copy', 'csv', 'excel', 'pdf', 'print'
]
});
});
答案 0 :(得分:2)
您已经为DataTable定义了AJAX源,您可以在间隔内简单地调用reload()
:
var table = $("#get_categories").DataTable({
// settings...
});
setInterval(function () {
table.ajax.reload();
}, 10000);
但是,正如@ADyson在评论中提到的那样,刷新数据源通常会导致服务器负载问题,具体取决于并发用户访问数据的方式。我建议您考虑使用WebSockets或服务器发送事件作为更具扩展性的选择。