【发布时间】:2018-07-25 20:16:13
【问题描述】:
当我调用服务器端 DataTables 搜索时,我得到一个项目,这是 AJAX 调用的响应:
{draw: 1, recordsTotal: 1, recordsFiltered: 18,…}
data: [{...}]
draw: 1
recordsFiltered: 18
recordsTotal: 1
并且 DataTables 认识到这一点:
Showing 1 to 10 of 18 entries (filtered from 1 total entries)
这是我当前的配置(我目前正在使用流水线,如下所述:https://datatables.net/examples/server_side/pipeline.html)
var table = $('#table').DataTable({
"processing": true,
"serverSide": true,
"ajax": $.fn.dataTable.pipeline({
url: '/url',
pages: 5 // number of pages to cache,
}),
"pagingType": "full_numbers",
"columns": columnData,
"order": [[1, "desc"]]
});
当我在 Chrome 浏览器控制台中调用 table.page.info() 时,我得到了
{page: 0, pages: 2, start: 0, end: 10, length: 10, …}
end: 10
length: 10
page: 0
pages: 2
recordsDisplay: 18
recordsTotal: 1
serverSide: true
start: 0
根据前面的信息和Datatables正确搜索的事实,我认为我的服务器端实现是正确的。但是,我不知道是什么导致 Datatables 显示两页而不是每页显示 10 条记录。
【问题讨论】:
-
recordsDisplay > totalRecords 怎么办?
-
谢谢,这就是问题所在!
-
嗨@AnimalTesting,我添加了答案。如果有帮助,请点赞。
标签: javascript jquery ajax datatables