在jquery Datatables中使用Ajax进行分页

ksh*_*ghl 12 jquery jquery-plugins

我正在使用dataTables插件来处理我正在处理的页面上的表.它基本上是通过ajax调用获取行,在这个ajax调用中,我发送用户选择的搜索参数和所需的页码.我需要Next,Previous,First和Last按钮来激发相同的ajax调用,但具有不同的页码,因为后端拦截器取决于页码.

这个api调用会返回总数.属于这些搜索参数的行(比如1000)和具有页面大小的行(比如50).

有什么办法,我可以使用数据表来做到这一点吗?

Dan*_*Dan 5

是的,你可以完成这个,我已经在很多网站上完成了.关键是使用以下代码正确初始化数据表:

var oTable = "";

$(document).ready(function() {
    oTable = $('#htmltableID').dataTable({
        "sPaginationType": "full_numbers",
        "bServerSide": true,
        "sAjaxSource": "/script-to-accept-request.php",
        "sServerMethod": "POST",
        "iDisplayLength": 50
    });
}
Run Code Online (Sandbox Code Playgroud)

一旦页面加载,它将向指示的源发送POST请求.默认情况下,请求使用GET方法,但我选择发布该值.

您可以通过参考http://www.datatables.net/release-datatables/examples/server_side/custom_vars.html添加要包含在默认集中的自定义变量

接收请求的服务器端代码必须在页面更改时处理iDisplayStart变量.这从0开始,然后每页增加iDisplayLength值.Oliver给出的示例包含一个PHP服务器端的示例,因此这对查看非常有帮助.


Oli*_*ech 4

是的,你可以这么做,

首先,详细看一下这里

然后检查 API 以正确显示您想要的按钮等。

我在一个非常大的项目中使用相同的插件,并且它运行完美。

我在我的桌子上使用的配置类型如下

$("#mytable").dataTable({"bJQueryUI": true,"sPaginationType": "full_numbers"}); 
Run Code Online (Sandbox Code Playgroud)