如何获取jquery datatable(datatables.net)的过滤参数?

Ale*_*lex 4 jquery-datatables

我正在使用jquery DataTables(来自datatables.net)与服务器端处理和ColumnFiltering插件.我需要添加一个回调函数,它将根据过滤后的数据计算小计.为了实现这一点,我想做一个单独的ajax调用.如何提取当前的ajax参数?

Ale*_*lex 8

将datatable对象分配给创建时的var,例如:

var oTable = $("selector").dataTable({...});`
Run Code Online (Sandbox Code Playgroud)

后来用这个:

var params = oTable.oApi._fnAjaxParameters(oTable.dataTable().fnSettings());
Run Code Online (Sandbox Code Playgroud)

它返回所有ajax参数,这些参数将在数据表的正常数据加载请求中发送.像这样进行ajax调用:

$.post("url",$.param(params),function(response){....});
Run Code Online (Sandbox Code Playgroud)


MrD*_*erp 5

如果您正在使用DataTables 1.10(此答案的当前版本),现在使用ajax.params()方法可以更轻松地访问它.

来自http://datatables.net/reference/api/ajax.params()的示例

var table = $('#example').DataTable( {
    ajax: "data.json",
    serverSide: true
} );

table.on( 'xhr', function () {
    var data = table.ajax.params();
    alert( 'Search term was: '+data.search.value );
} );
Run Code Online (Sandbox Code Playgroud)