我知道DataTables有ajax.url()
方法来更新数据源URL,但我想知道是否有一种方法可以更改用于准备要在Ajax上发布的数据的函数请求。在下面的示例中,我想将其替换为dataFunc
。
初始化部分工作正常。
function updateDataTable(dataFunc) {
// If DataTable initialised then update to correct function
if ($.fn.DataTable.isDataTable("#companyTable")) {
var companyTable = new $.fn.dataTable.Api("#companyTable");
companyTable.settings().ajax.data = dataFunc;
companyTable.ajax.reload();
} else {
$("#companyTable").DataTable({
bFilter: false,
processing: true,
serverSide: true,
ajax: {
url: "/api/GetCompanyRows",
type: "POST",
data: dataFunc
},
....
答案 0 :(得分:1)
ajax
可以执行一项功能,您可以执行各种操作,其中最重要的是使用localstorage。查看documentation。
答案 1 :(得分:0)
我找到了Pro Hands解决方案的替代方案,它允许我直接更新设置。
companyTable.settings()[0].ajax.data = dataFunc;
companyTable.ajax.reload();
答案 2 :(得分:0)
您可以使用ajax.data
选项定义一个函数,该函数可用于在数据发送到服务器之前对其进行操作。
$('#companyTable').DataTable({
searching: false,
processing: true,
serverSide: true,
ajax: {
url: "/api/GetCompanyRows",
type: "POST",
data: function ( d ){
d.extra_search = $('#extra').val();
}
}
});