1

这是我的设置。

Javascript/jQuery:

$('#list').dataTable({
    paging: false,
    serverSide: true,
    ajax: {
        url: "/search/",
        data: function (d) {
            return $.extend({}, d, {
                lid: Label.selectedId
            });
        }
    }
});

HTML

<table id="list" class="table table-striped" width="100%">
    <thead>
    <tr>
        <th>Title</th>
        <th>First Name</th>
        <th>Last Name</th>
        <th>URL</th>
    </tr>
    </thead>
    <tbody>

    </tbody>
</table>

JSON 响应

{"data": [["Test", "", "", ""]], "recordsTotal": 1, "draw": 1, "recordsFiltered": 1}

通过这样做手动调用它:

$('#list').DataTable().ajax.reload();

但是表没有变化。我已经用 DataTables 1.9 完成了很多次,没有任何问题——有什么想法吗?


更新

我发现如果我关闭serverSide它,它会起作用。

4

1 回答 1

6

我发现了问题。它draw在 JSON 响应中。它始终是 1。

如果使用serverSide: true,则意味着它将draw作为变量发送,并且必须返回。

更多信息在这里: http ://datatables.net/manual/server-side

于 2014-06-13T04:04:09.110 回答