在给定的秒数内刷新Ajax代码

时间:2018-07-26 14:43:14

标签: php jquery ajax datatables

我下面有一个代码,我已经尝试过了并且可以正常工作。

我要实现的目标是使用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'
        ]
    });
});

1 个答案:

答案 0 :(得分:2)

您已经为DataTable定义了AJAX源,您可以在间隔内简单地调用reload()

var table = $("#get_categories").DataTable({
  // settings...
});

setInterval(function () {
  table.ajax.reload();
}, 10000);

但是,正如@ADyson在评论中提到的那样,刷新数据源通常会导致服务器负载问题,具体取决于并发用户访问数据的方式。我建议您考虑使用WebSockets或服务器发送事件作为更具扩展性的选择。