在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數據後臺處理的思路了吧~