我正在使用DataTable通过serverSide模式和ajax显示数据。
一切正常,但分页不起作用。

javascript - DataTable分页不起作用-LMLPHP

您可以按以下方式查看代码:

HTML:

<table id="table" class="display" cellspacing="0" width="100%">
    <thead>
        <tr>
            <td>ID</td>
            <td>First name</td>
            <td>Last name</td>
            <td>Email</td>
        </tr>
    </thead>
    <tbody></tbody>
</table>


Javascript:

$(document).ready(function () {
    $('#table').DataTable({
        serverSide: true,
        ajax: {
            url: '<?php echo base_url(); ?>folder/class/method'
        },
        processing: true,
        scrollY: 370,
        paging: true,
        bJQueryUI: true
    });
});


从服务器(JSON)返回的数据,如下所示:

{
    "draw": 1,
    "recordsTotal": 1208,
    "recordsFiltered": 10,
    "data": [
        ["1", "pando", "rewar", "pando@hotmail.com"],
        ["2", "chori", "raon", "m_chori@hotmail.com"],
        ["3", "Gorbat", "horiz", "horiz_555@yahoo.com"],
        ["4", "martin", "sokza", "martin_em5@gmail.com"],
        ["5", "dooz", "solda", "solda_m@gmail.com"],
        ["6", "maro", "meza", "r_meza@hotmail.com"],
        ["7", "nod", "ion", "nod_eam@yahoo.com"],
        ["8", "kaz", "loob", "kaz_007@hotmail.com"],
        ["9", "Barbara", "Elliott", "adipiscing@nonmassanon.org"],
        ["10", "Kendall", "Nathaniel", "ante.blandit@scelerisque.edu"]
    ]
}


DataTable的所有组件都可以正常工作,但是分页却不能。

最佳答案

除非用户执行搜索,否则参数recordsFiltered必须等于recordsTotal。有关发送和接收的参数的更多信息,请参见manual

另外,请确保您在响应中返回相同的draw参数值。在JSON response中,draw的值必须与request中的draw参数的值匹配。

09-25 18:14
查看更多