php - 在给定秒数内刷新ajax代码

标签 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'
        ]
    });
});

最佳答案

由于您已经为 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/

相关文章:

javascript - 从横向格式的 HTML 页面制作 PDF

php - 无法使用 php codeigniter 插入批量记录

javascript - 带文件上传的 FormData Ajax 请求

ASP.NET MVC2 JsonResult 此请求已被阻止

jquery - ajax调用不等待

javascript - 为什么主线程上的同步 XMLHttpRequest 的 ajax 调用给出错误已被弃用?

php - PDO 和数据库类 - 获取表模式

Javascript函数的参数是单词 "Array"而不是mySQL行

jQuery 内容 slider (更多 CSS)

javascript - 删除 javascript 字符串中的制表符空格或换行符