我已经用DataTables建立了我的网站。
我从java后端通过它的ajax服务获取数据--这很好,DOM一切看起来都很好。但是,尽管我所有的数据都正常工作,但似乎所有的DataTables功能都在失败。

(所有字段都工作,我故意将null返回给空字段)
我的jQuery DataTables设置如下所示:
function getUserTable() {
var table = $('#example').DataTable({
"destroy": true,
"processing": true,
"serverSide": true,
"ajax": {
"dataType": 'json',
"url": "action=getAllUsers",
"type": "POST",
"dataSrc": "allUsers"
},
"columns": [
{"data": "id"},
{"data": "username"},
{"data": "firstName"},
{"data": "lastName"},
{"data": "loggedIn"},
{"data": "email"}
]
});
}所以我将serverside设置为true,因为我的后端位于同一台服务器上--我似乎找不到这方面的任何教程,但似乎内置的搜索功能在其设置为服务器端时不起作用?
另外,为什么这些表似乎没有初始化呢?它显示了太多的页面,并说“显示0到0的0项”。
返回的json数据如下所示:
allUsers: [{email:null, firstName:null, id:1, lastName:null, loggedIn:false, username:mag},…]Html表格结构:
<table id="example" class="display" cellspacing="0" width="100%">
<thead>
<tr>
<th>Id</th>
<th>Brugernavn</th>
<th>Navn</th>
<th>Efternavn</th>
<th>Logged</th>
<th>Email</th>
</tr>
</thead>
<tfoot>
<tr>
<th>Id</th>
<th>Brugernavn</th>
<th>Navn</th>
<th>Efternavn</th>
<th>Logged</th>
<th>Email</th>
</tr>
</tfoot>
</table>发布于 2014-09-17 08:24:16
关于内置搜索功能,我记得,你是对的。它不适用于AJAX。您可以使用它,但不使用内置搜索。搜索必须在服务器端完成。当使用搜索字段时,使用包含搜索值的附加参数生成一个新的AJAX。
要使分页工作,您必须返回ajax响应中的总条目数,并在初始化DataTables时设置分页配置。
示例
Ajax响应:
{"iTotalRecords":"497","iTotalDisplayRecords":"497","aaData":[]}分页配置:
var gridSettings = {
/* .... */
"iDisplayStart": 0,
"iDisplayLength": 20
};
$('#elt').dataTable(gridSettings);https://stackoverflow.com/questions/25885230
复制相似问题