我有下面的代码,我已经尝试过并且它可以工作。
我想要实现的是使用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'
]
});
});
最佳答案
由于您已经为 DataTable 定义了 AJAX 源,因此您只需在一定时间间隔内调用 reload()
即可:
var table = $("#get_categories").DataTable({
// settings...
});
setInterval(function () {
table.ajax.reload();
}, 10000);
但是,正如 @ADyson 在评论中提到的,刷新数据源通常可能会导致服务器负载问题,具体取决于访问数据的并发用户数。我建议考虑使用 WebSockets 或服务器发送事件作为更具可扩展性的替代方案。
关于php - 在给定秒数内刷新ajax代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51541614/