Javascript jQuery Datatable服务器端重新加载新的post数据
我为所有服务器端数据表提供了一个公共函数,它接受表对象、url和post数据。post数据由筛选区域中的选择框中的值组成Javascript jQuery Datatable服务器端重新加载新的post数据,javascript,jquery,datatables,Javascript,Jquery,Datatables,我为所有服务器端数据表提供了一个公共函数,它接受表对象、url和post数据。post数据由筛选区域中的选择框中的值组成 UTIL.serverDatatable = function (table, api, data) { var token = "Bearer " + JSON.parse(UTIL.getItemLocalStorage('token')); return table.DataTable({ "processing"
UTIL.serverDatatable = function (table, api, data) {
var token = "Bearer " + JSON.parse(UTIL.getItemLocalStorage('token'));
return table.DataTable({
"processing": true,
"serverSide": true,
"paging": true,
"ajax": {
url: api,
type: "post",
beforeSend: function (request) {
request.setRequestHeader("Authorization", token);
},
"data": data
}
});
};
和另一个重新加载数据表的函数
UTIL.datatableReload = function(table) {
table.ajax.reload();
};
在这些功能普及之前,这种方法工作得很好。当过滤器更改时,post数据正在更改,之后调用了reload函数。但现在,当数据发生变化时,帖子不会得到更新。有什么解决办法吗?如何通过ajax调用发布更改的数据?如下更改代码
UTIL.serverDatatable = function (table, api, callback) {
var token = "Bearer " + JSON.parse(UTIL.getItemLocalStorage('token'));
return table.DataTable({
"processing": true,
"serverSide": true,
"paging": true,
"ajax": {
url: api,
type: "post",
beforeSend: function (request) {
request.setRequestHeader("Authorization", token);
},
"data": callback
}
});
};
然后调用util函数,如下所示
UTIL.serverDatatable(tablename, apiname, function(data){
data.key= $('#input1').val();
});
然后调用函数作为
UTIL.datatableReload = function(table) {
table.ajax.reload();
};
我不认为它会像这样工作,我认为你不能为多个DataTable创建一个公共函数。除了数据部分,它工作得很好。你能添加一个片段来模拟相同的吗?