我正在阅读http://www.datatables.net/examples/data_sources/server_side.html及其示例,但这很难遵循。甚至https://datatables.net/manual/server-side也很明显。
在我走这条路之前,我无法回头,任何使用过Datatables的人都可以为我确认以下内容:
我可能最终拥有一个包含数千条记录的大型数据集;我可以这么做,所以最初只加载第一个,比方说10条记录。然后,如果用户点击“下一页”按钮,则显示记录11-20,如果再次点击“下一页”,则显示21-30,依此类推?每次从数据库(通过ajax / webservice)加载,以便用户快速。
我可以这样做,搜索栏会搜索数据库中的整个数据集吗?我可能需要过滤大约3列(例如用户名,电子邮件地址,邮政地址)。
如果我可以做这两件事,那么Datatables可以为我工作。因此,如果有经验的人可以分享他们在上述问题方面的经验,那将是很棒的。谢谢。
答案 0 :(得分:1)
同时回答1和2:是的,这正是服务器端功能的工作方式,并且很容易实现。将对象发送到服务器端组件,其中包含有关要搜索的内容和要返回的内容的信息(等于您一次在页面上指定的元素数),并且响应是仅包含足够数据的JSON对象在一个页面中。您只需在创建数据时设置以下选项
"serverSide": true,
"ajax": "yourscript.php"
查看他们在此提供的示例:http://www.datatables.net/examples/data_sources/server_side.html 拉起镀铬检查器/ firebug并观察网络选项卡。您可以看到每次进行寻呼和搜索时来回发送的有效负载(数据表负责为您构建此负载,但它可以让您了解它是如何工作的)。在同一页面上,您可以在选项卡中看到用于设置数据表客户端的javascript,然后是用于设置服务器端的php脚本。出于某种原因,第二个服务器端脚本似乎不在该页面上,但您可以在此处找到它:https://github.com/DataTables/DataTables/blob/master/examples/server_side/scripts/ssp.class.php
编辑1:更改信息文本将其添加到您的选项中:
language: {
"info": "page _PAGE_ of _PAGES_"
}