[英]Datatables on server side processing with jQuery
我是数据表的新手。 自前两天以来,我一直在尝试寻找服务器端处理的解决方案,但没有找到解决方案。
我的JS代码是
this.$("#example").DataTable({
"processing": true,
"serverSide": true,
"ajax": "../employees.json",
"columns": [{
"data": "Name"
}, {
"data": "Age"
}, {
"data": "Country"
}, {
"data": "Address"
}, {
"data": "Married"
}]
});
Datatable 以表格格式呈现 JSON。 但是排序、分页和搜索操作不起作用。 无论我从下拉列表中选择了多少值,它都会在第一页上显示所有结果
同样在底部它会显示类似“显示 0 到 0 个条目中的 0 个条目(从 NaN 总条目过滤)”的消息
如果我通过 serverSide: false。 一切正常。 但我想要相同的服务器端处理
任何帮助,将不胜感激
当您将 serverSide 设置为 true 时,您是在告诉 DataTables 服务器将处理所有排序和分页而不是 DataTables。 DataTables 只会按原样显示来自服务器的数据。
因此,如果您的服务器忽略从 DataTables 发送的所有排序和分页参数,那么数据看起来会很有趣。 (在您的情况下,无论请求的页面大小如何,服务器似乎都列出了所有记录)。
您有两个选择:
在你的 json 表单的返回中必须有这些:
iTotalRecords : (Total rows),
iTotalDisplayRecords : (Total rows to display in your grud),
aaData : {(Your data)}.
为我工作。
有一些选项必须设为 true
例如
this.$("#example").DataTable({
"processing": true,
"serverSide": true,
"ajax": "../employees.json",
"columns": [{
"data": "Name"
}, {
"data": "Age"
}, {
"data": "Country"
}, {
"data": "Address"
}, {
"data": "Married"
}],
'scrollCollapse': true,
'ordering': true,
'order': [[0, 'asc']],
'searching': true,
'paging': true,
});
这可能会晚,但您可以使用 fnInfoCallback 例如:
"fnInfoCallback": function( oSettings, iStart, iEnd, iMax, iTotal, sPre ) {
if (isNaN(iTotal)) {
return '';
}
return "Showing " + iStart +" to "+ iEnd + " of " + iTotal + " entries";
},
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.