我对所有接受表对象,url和post数据的服务器端数据表都有通用功能。帖子数据包含过滤区域中选择框的值。
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();
};
在这些功能变得普遍之前,这很好用。当过滤器更改并且之后调用重新加载函数时,后期数据正在发生变化。但是现在当数据发生变化时,帖子没有得到更新。这有什么解决方案吗?如何通过ajax调用发布更改的数据?
答案 0 :(得分:3)
更改以下代码
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();
};