Datatables Post 请求自定义参数

956 阅读1分钟

背景:使用 datatables 插件,服务端分页,post 请求如何添加自定义参数?并携带它原有的一些参数,例如 sEcho start 等等..

代码如下:

$('#table').DataTable(
            {
              "pageLength": 10,
              "bPaginate" : true,//分页工具条显示
              //"sPaginationType" : "full_numbers",//分页工具条样式
              "bStateSave" : true, //是否打开客户端状态记录功能,此功能在ajax刷新纪录的时候不会将个性化设定回复为初始化状态
              "bScrollCollapse" : true, //当显示的数据不足以支撑表格的默认的高度
              "bLengthChange" : true, //每页显示的记录数
              "bFilter" : false, //搜索栏
              "bSort" : false, //是否支持排序功能
              "bInfo" : true, //显示表格信息
              "bAutoWidth" : true, //自适应宽度
              "bJQueryUI" : false,//是否开启主题
              "bDestroy" : true,
              "bProcessing" : true, //开启读取服务器数据时显示正在加载中……特别是大数据量的时候,开启此功能比较好
              "bServerSide" : true,//服务器处理分页,默认是false,需要服务器处理,必须true
              "sAjaxDataProp" : "aData",
              "sServerMethod": "POST",
              "oLanguage": {
                "sProcessing": "loading data..."
               },
               "sAjaxSource" : "请求 url",
               "fnServerData": function ( sSource, aoData, fnCallback ) {
                 aoData.push({name: '自定义参数名', value: 值})
                 aoData.push({name: '自定义参数名', value: 值})
                 $.ajax( {
                       "dataType": 'json',
                       "type": "POST",
                       "url": sSource,
                       "data": aoData,
                       "success": fnCallback
                   } );
               },
              "aoColumns" : [
                  {
                    "mDataProp" : ""
                },
                {
                    "mDataProp" : ""
                }
              ],
            }
          );