1. 程式人生 > >DataTables伺服器端傳入傳出(接收與提交)的資料格式 搜尋、排序和分頁與後臺資料的互動

DataTables伺服器端傳入傳出(接收與提交)的資料格式 搜尋、排序和分頁與後臺資料的互動

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