功能
serverSide是jQuery DataTables 控制使用服务器端还是客户端处理数据的选项。
描述
jQuery DataTables有两种基本的数据操作模式 :
- 客户端处理 : 过滤,分页,排序等计算都发生在浏览器端
- 服务端处理 : 过滤,分页,排序等计算都发生在服务器端
缺省情况下jQuery DataTables使用客户端处理数据模式,但是可以使用这个选项serverSide设置为使用服务器端处理数据的模式。
当数据量很大时(比如50000条以上的数据)使用服务端数据处理很有用,因为此时服务端可以充分利用数据库引擎来处理排序等计算。对于这些操作,现代数据库引擎都是做过高度优化的。
使用了服务器端数据处理,DataTables就可以用来处理百万条记录级别的数据了。
工作在serverSide模式下时,DataTables会通过AJAX请求向服务器请求数据,传递参数指出它要什么样的数据,比如哪一页数据,过滤器怎样应用等;服务器端也需要返回指定的参数DataTables才知道如何展示数据。
类型
布尔变量 : true/false
缺省值
false
例子
// 这是一个最简单的例子,没有演示如何向服务器传递参数和如何处理返回的数据
$('#example').dataTable( {
"serverSide": true, // 设置使用服务器处理数据的模式
"ajax": "xhr.php" // xhr.php 是服务器用来生成数据的php逻辑
} );
有关参考
https://datatables.net/reference/option/serverSide 以上内容的英文版
https://datatables.net/manual/server-side 服务器端数据处理时发送的参数,返回的数据的介绍
https://datatables.net/reference/option/ajax.data 服务器端数据处理时参数如何传递