0

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

这是我的代码

$('#example').dataTable({
                    "bProcessing": false,
                    "bServerSide": true,
                    "sPaginationType": "full_numbers",
                    "iDisplayLength":10,
                    "bDeferRender": true,
                    "bFilter": false,
                    "bSort": false,
                    "bInfo": true,
                    "sAjaxSource": #PHP_PATH#/json_data"
                   });
4

1 回答 1

1

对于您要实现的目标,我还建议您调查 SignalR - 太棒了!

你用bServerSide处理做什么?

第一次生成页面并将其发送到客户端时,数据表将使用当时的最新数据呈现。之后,在每个后续的 ajax 调用中,如果您的服务器只向您发送新数据,您所要做的就是在成功/完成回调中调用以下方法。

function AddRow(row) {
    $('#example').dataTable().fnAddData([
        row[0],
        row[1],
        row[2]]);
}

$.ajax({
    //...
    success: function(data) {
        //assuming data = ["COL.1", "COL.2", "COL.3"]
        AddRow(data);
    }
    //...
});​
于 2012-12-17T10:26:24.090 回答