在dataTables服务器端处理模式下,想要用好dataTables 必须先去了解它与后台传递数据的格式,这样才能做好数据在后台的处理,完成dataTables的一系列筛选、排序和分页功能。
1. dataTables的提交数据
dataTables向后台发送的数据,后台需要接收这些参数,进行处理。
Array(
'自定义参数'=>'值', //配置数据源时的ajax传值
'draw'=>1, //请求计数器,即绘制表索引,页面有多个表时需严格定义,一般情况下为1
'start'=>1, //开启分页后,传入的页码
'length'=>100, //开启分页后,传入的页大小
'columns'=>Array(), //搜索条件
'order'=>Array() //排序条件
)
搜索(筛选) ‘columns’=>Array()
就是通过columns(1).search( keyword )所定义的参数。
'columns'=>Array(
[0]=>Array(
'data'=>'参数名',
'search'=>Array(
'value'=>'值',
...
)
),
[1]=>Array(
'data'=>'name', //column(1)选定列所渲染的数据键名
'search'=>Array(
'value'=>'张三',//search( keyword ) keyword的值
...
)
),
...
)
排序 ‘order’=>Array()
order参数会向后台发送排序字段所渲染的列号,后台需根据列号替换成对应字段进行排序处理
'order'=>Array(
[0]=>Array(
'column'=>'列号',
'dir'=>'升/降'
),
[1]=>Array(
'column'=>2,
'dir'=>'asc'
),
[2]=>Array(
'column'=>3,
'dir'=>'desc'
)
...
)
2. dataTables的接收数据(后台响应的数据)
array(
"draw"=>$draw, //索引
"recordsTotal"=>$count, //总记录数
"data"=>$list, //主要数据源
"recordsFiltered"=>$count, //搜索后所有的数据条数
"其他数据"=>"值",
...
);
看到这里,想必您一定已经有对dataTables数据后台处理的思路了吧~