jQuery Datatable服务器端重新加载新的帖子数据

时间:2018-05-02 12:12:40

标签: javascript jquery datatables

我对所有接受表对象,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调用发布更改的数据?

1 个答案:

答案 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();
};
相关问题