Jquery 如何使用新参数重新绘制数据表?
我创建了一个服务器端处理数据表Jquery 如何使用新参数重新绘制数据表?,jquery,json,ajax,datatables,twig,Jquery,Json,Ajax,Datatables,Twig,我创建了一个服务器端处理数据表 var table = $('.table').DataTable({ "serverSide": true, "ajax": '{{ path('json', { 'fileName': output.fileName }) }}', .... 这包含10个datatable条目,但在页脚中显示的记录总数为5000条 {"draw":1,"recordsTotal":5000,"recordsFiltered":50
var table = $('.table').DataTable({
"serverSide": true,
"ajax": '{{ path('json', { 'fileName': output.fileName }) }}',
....
这包含10个datatable条目,但在页脚中显示的记录总数为5000条
{"draw":1,"recordsTotal":5000,"recordsFiltered":5000,"data":[{"id":536,"uuid"....
我现在有一个ajax请求,如果成功,我希望重新加载datatable:
$.ajax({
method:'POST',
data: {
"id": id,
"length": length,
},
url:'{{ path('json', { 'fileName': output.fileName }) }}',
success : function (data) {
table.destroy();
var oTable = $('.table').dataTable({ });
oTable.fnDraw();
}
});
现在我仍然看到10个条目,但是datatable页脚中显示的totalRecords已经更改为10,但是它仍然应该是5000。我能做什么?附带问题:您能将DataTables更新到最新版本吗?我认为
fnDraw()
来自一个非常(非常!)古老的版本。否则,您使用的是什么版本?嗯,好问题,我刚刚在网站教程中找到fnDraw,我不确定我有什么版本,它带有Bootstrap 3的Bootstrap数据表。您知道我实际上只是想用一些新参数重新加载我的数据表。您认为在这种情况下我应该使用table.ajax.reload()代码>?一个简单的table.draw()
将重新加载该表(即,对服务器端数据进行干净的提取)。但是您需要对原始初始化表使用相同的引用var table=$('.table').DataTable({…
)。至少这是我使用它的方式-可能还有其他方式。这是针对DataTables 1.10的。对于旧版本(我想可能是1.9),可能会有所不同。如果您真的想用一些新的[e.e.different]parameters”,那么jQuery的ajax
调用需要dataFilter
选项。但我不知道在什么情况下这对您有意义。