Javascript jQuery Datatable服务器端重新加载新的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"

我为所有服务器端数据表提供了一个公共函数,它接受表对象、url和post数据。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();
};

在这些功能普及之前,这种方法工作得很好。当过滤器更改时,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创建一个公共函数。除了数据部分,它工作得很好。你能添加一个片段来模拟相同的吗?