我最近从1.9版本升级到了1.10版本,对于ajax请求的分页行为发生了变化。
在1.9版本中,我不能通过 iTotalDisplayRecords
或 iTotalRecords
而分页仍可使用,只要我发送 sEcho
回。
这似乎在1.10中不再有效,只要我不发送 recordsTotal
值,但分页仍然被禁用。
我有一些表,在db中包含了50万行以上的记录,把它们全部计算出来,就会生成 recordsTotal
可能成本很高,特别是如果我需要在每次页面变化时都这样做。
我可以建立一个缓存机制,这也不是一个完美的解决方案,因为第一次我仍然需要对我的db计算这些行,这可能需要一些时间,并创造较慢的体验。
有没有什么其他的解决方案是我遗漏的,可以在不计算db中所有行的情况下保持分页的可用性?
谢谢你。
你可以自定义分页信息消息。
例子:在1.9中,我不能通过iTotalDisplayRecords或iTotalRecords,分页仍然可以作为..:
$('#example').DataTable({
"language": {
"info": "Showing entries _START_ to _END_"
}
});
查看 此处 以获取相关文档。
你可能还需要调整这部分信息。
"infoFiltered": "(filtered from _MAX_ total entries)"
这样做之后,你将不再需要计算总行数,因为该信息永远不会显示。