2017-04-12 54 views
1

我使用的是带有yadcf插件的DataTable,我想覆盖发送参数以匹配服务器上的API。带有yadcf插件的数据表 - 如何覆盖发送的参数

例如:我有列顺序,它是columns数组中的第三列,我想发送名为orderSearch而不是columns[2].search.value的参数。

我该怎么做?我如何操作参数?

回答

2

使用ajax.data选项来操纵发送到服务器的参数。

例如:

$('#example').DataTable({ 
    "processing": true, 
    "serverSide": true, 
    "ajax": { 
    "url": "/script.php", 
    "data": function(d){ 
     d.orderSearch = d.columns[2].search.value; 
    } 
    } 
}); 

你也可以构建并返回自己的对象,不会有默认的DataTable响应对象合并。请参阅this example进行演示。

+0

但是,我怎样才能防止从DataTables发送参数,只发送我的自定义参数?因为在网站上我只能看到添加数据的能力,而不是阻止从DataTable发送默认参数。你能展示示例代码吗?谢谢 ! – Bardr

+1

@Bardr,请阅读引用的文档,特别是关于使用['function'](https://datatables.net/reference/option/ajax.data#function)作为选项值。您可以构建并返回自己的对象,该对象不会与默认的DataTables响应对象合并。请参阅[本示例](https://jsfiddle.net/hbem11sw/1/)进行演示。 –