首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >而不清除Ajax call - DataTables上的现有记录

而不清除Ajax call - DataTables上的现有记录
EN

Stack Overflow用户
提问于 2012-12-17 18:05:14
回答 1查看 181关注 0票数 0

我正在使用DataTables插件从mysql表中检索数据并显示它们。为此,我使用他们的服务器端处理代码来检索所有数据。到目前为止,它工作得很好。现在,我每分钟都在检查数据库是否插入了新记录。如果在数据库中插入了新记录,我将调用数据表函数。此时,它会清除整个记录,并显示新插入的记录,这样看起来就像加载了整个页面一样。我们可以不清除现有数据吗?或者我们可以在不清除记录的情况下将新插入的记录附加到现有记录中吗?或者我该如何处理这个问题?

以下是我的代码

代码语言:javascript
复制
$('#example').dataTable({
                    "bProcessing": false,
                    "bServerSide": true,
                    "sPaginationType": "full_numbers",
                    "iDisplayLength":10,
                    "bDeferRender": true,
                    "bFilter": false,
                    "bSort": false,
                    "bInfo": true,
                    "sAjaxSource": #PHP_PATH#/json_data"
                   });
EN

回答 1

Stack Overflow用户

发布于 2012-12-17 18:26:24

对于您正在尝试实现的目标,我也建议您研究一下SignalR --它太棒了!

您使用bServerSide处理的目的是什么?

第一次生成页面并将其发送到客户端时,将使用当时的最新数据呈现datatable。此后,在随后的每次ajax调用中,如果您的服务器只向您返回新数据,那么您所要做的就是在success/complete回调中调用下面的方法。

代码语言:javascript
复制
function AddRow(row) {
    $('#example').dataTable().fnAddData([
        row[0],
        row[1],
        row[2]]);
}

代码语言:javascript
复制
$.ajax({
    //...
    success: function(data) {
        //assuming data = ["COL.1", "COL.2", "COL.3"]
        AddRow(data);
    }
    //...
});​
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13911982

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档