datatable 笔记 服务器端查询

时间:2023-03-09 07:58:58
datatable 笔记 服务器端查询
 var vTable = "";   
$("#vip_data").dataTable({
"scrollY": 400, //竖向高度 滚动
"paging": true,//是否分页
"scrollX": true,//横向滚动
"processing" : true,//显示“处理中...”
"serverSide" : true,//开启服务器模式。
"searching": true, //是否开启搜索
"ordering": true, //是否开启排序
"dom": '<"toolbar"><"clear">tl<"float_left"i>p', //将分页移动到下面
"oLanguage": { //样式 显示文字
"sLengthMenu": "每页显示 _MENU_ 条记录",
"sZeroRecords": "抱歉, 没有找到",
"sInfo": "从 _START_ 到 _END_ /共 _TOTAL_ 条数据",
"sInfoEmpty": "没有数据",
"sInfoFiltered": "(从 _MAX_ 条数据中检索)",
"sZeroRecords": "没有检索到数据",
"sSearch": "名称:",
"oPaginate": {
"sFirst": "首页",
"sPrevious": "前一页",
"sNext": "后一页",
"sLast": "尾页"
}
},
"ajax": {
type: 'POST', //请求方式
url: _ROOT_ + 'xxxxx', //请求地址
data: function (data) { //请求参数 这里是处理了一个请求的参数 将datatable 的请求数据 和 自身需要发送的数据合并在一起
return $.extend({}, data, vTable); //vTable 自身准备的请求数据
}
},
"fnDrawCallback": function (data) {
// get_sum_data(data.json);
},
"columns": [
{"data": "vip_id", "bSortable": false}, //第一列 显示为 请求道的数据 vid_id
],
columnDefs: [
{ //对 第一列进行的处理
"targets": [0], //选择第一列
"data": "id",
"render": function (data,type,row) {
              //处理 data 为上面 "data": "vip_id" 中 vip_id 的数据 type 当前列的类型 row 请求道的这一行的全部数据
return '<input type="checkbox" name="ck" value="'+data+'" vip_mobile="'+row.vip_mobile+'" vip_name="'+row.vip_name+'" >';
}
} ] });

初始化后 再次请求

vTable = data; //设置要发送的数据
data_table.fnDraw(false) //table 重绘 会带着新的数据 去进行ajax 请求 得到数据后重绘

后端 接收到 vTable 的数据后进行 查询等处理就可以了

参考:

https://www.cnblogs.com/zergcom/p/4434069.html