首页 文章

在使用jQuery库DataTables时,是否可以对Ajax源进行延迟分页?

提问于
浏览
2

我正在使用名为DataTables的jQuery插件,我想显示一个表,它是从Ajax源自动填充的,支持分页 . 问题是,从服务器,我只从所有结果中得到10个结果(响应也包含结果总数) . 因此,分页看起来像: showing 1 to 10 out of 10 results.

我希望它说: showing 1 to 10 out of X results ,其中X是结果的总数 . 我不能使用任何服务器端处理 . 所以我的问题是:

How can I configure the DataTables plugin, to use this type of pagination ?

例如:

jQuery(table).dataTable({
  "aoColumnDefs": [...],
  "bProcessing" : true,
  "sAjaxSource" : "...",
  "sAjaxDataProp" : "...",

  "sOffsetParam" : "offset",
  "sNumFoundParam" : "totalResults"
});

再一次,我只能在客户端工作 .

我设法找到了部分回复:

如果我将“bServerSide”标志设置为TRUE,则插件将在服务器响应中查找构建分页系统所需的字段 . 但是,字段名称仍然是硬编码的,因此我仍然需要一种方法来使用自定义字段名称 . 此外,使用“sEcho”参数(指示所需页面的编号)发送偏移量 .

1 回答

  • 0

    如您所见here服务器必须返回两个参数

    int - iTotalRecords - 过滤前的总记录(即数据库中的记录总数)int - iTotalDisplayRecords - 过滤后的总记录(即过滤后的记录总数 - 不仅仅是记录的数量)在此结果集中返回)

    如果服务器没有返回这些参数,则客户端无法知道它必须绘制下一个/上一个按钮

相关问题