数据表刷新draw(),ajax,分页

Hei*_*ich 1 javascript datatables datatables-1.10

我每隔几秒钟就会尝试用服务器上的数据刷新我的表.它正在加载新数据,但分页根本不起作用.我的意思是,这是一个很重要的数据列表.它也说Showing 0 to 0 of 0 entries (filtered from NaN total entries)桌子底部的分页.

我在一个函数中使用draw(false)setInterval来实现刷新.我想在不使用的情况下这样做,"serverSide":"true"但我发现除非我使用该选项,否则draw()不会调用ajaxurl serverSide.

function myFunction() { 
var table1 = $("#example1").dataTable({
    "ajax": '/api/GetData',
    "serverSide": "true",
    "columns": [
        {
            "data": "DateCreated",                
        },
        { "data": "UserName" }
    ],
    "destroy": true
});

setInterval(function test() {        
    table1.draw(false);
}, 3000);
}
Run Code Online (Sandbox Code Playgroud)

当我省略"serverSide":"true"该表时,使用分页正确绘制,但不调用ajax draw().如何获取ajax数据并正确设置分页?

Gyr*_*com 7

使用ajax.reload()从Ajax数据源重新加载表数据false作为第二个参数,以避免重置当前的分页位置.

table1.api().ajax.reload(null, false);
Run Code Online (Sandbox Code Playgroud)

由于您的表是使用初始化的dataTable(),因此可以使用table1.api()方法访问API方法.否则,如果使用初始化表,则DataTable()可以table1直接使用API方法访问.有关更多信息,请参阅DataTables API.