如何使用 jQuery dataTables 启用服务器端搜索?
Posted
技术标签:
【中文标题】如何使用 jQuery dataTables 启用服务器端搜索?【英文标题】:How to enable Server Side search with jQuery dataTables? 【发布时间】:2017-12-28 13:51:09 【问题描述】:我正在使用Datatables
和服务器端处理来显示数据。我有大约 10000 行数据,我想限制这些数据以使其更具可读性。
我想在数据表中只显示 50 行数据。
$('#dataTable3').dataTable(
"sAjaxSource": "user_data.php",
"sPaginationType":"full_numbers",
"bProcessing": true,
"bPaginate":true,
"iDisplayLength": 20,
"aoColumns": [
mData: 'sno' ,
mData: 'dob' ,
mData: 'fullname' ,
mData: 'email']
);
服务器端 PHP 脚本将行数限制为 50,如下所示:
SELECT * FROM users order by id desc limit 50
现在,问题是如果我想搜索特定用户,它是从数据表的 50 行中搜索。我也想在服务器端搜索。知道怎么做吗?
【问题讨论】:
设置 serverSide:true。这样一来,所有的控制权都交给了服务器。 datatables.net/reference/option/serverSide 和datatables.net/manual/server-side 您还尝试过其他方法吗? 【参考方案1】:在将服务器端处理与 DataTables 一起使用时,您必须考虑一些规则。
在每次 load
数据表执行时,它会向您的服务器发送一些参数,并期望其他一些参数返回以识别 data、quantity 和 filters申请。
您需要阅读datatables
发送的请求中的内容,并将它们应用于您的过滤器和数据库上的数据提取。
您可以在this 图像中查看数据表如何发送请求。
正如@Bindrid所说,您可以查看here这些参数的详细定义。
有一个很好的教程 here 和 here,您可以检查如何使用 PHP 来做到这一点。当然,datatables
文档中也有 example。
【讨论】:
以上是关于如何使用 jQuery dataTables 启用服务器端搜索?的主要内容,如果未能解决你的问题,请参考以下文章
标题/数据列未与 jQuery dataTables、bootstrap 2.3.2 对齐并启用水平滚动
如何使用 Jquery Datatable 仅对当前页面进行排序
如何使用 jQuery DataTables 插件在特定列中搜索?