解决datatable重新加载数据,ajax发送的数据一直不变的问题

原文:datatable重新加载数据,重新加载提交到后台的数据

var rowdata = {"name":"zhangsan"};
var table= $('#表格id').DataTable({
            ajax: {
                url: "/auditZY/benchmarkingResults.do",
                "dataSrc": "",
                data : rowdata
            },
            .....
});

 

如果向上面一样,直接在data处写json字符串(rowdata),再次使用以下代码时重新加载datatable时,

    var rowdata = {"name":"lisi"};
    table.ajax.reload();

datatable接收到的rowdata数据还是以前的 zhangsan,不会变成lisi。

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------

要想改变提交的参数,需要把data出的json写成function,如下:

   

 var table= $('#表格id').DataTable({
                ajax: {
                    url: "/auditZY/benchmarkingResults.do",
                    "dataSrc": "",
                    data : function(){
                        rowdata = {"name":"lisi"};//这里可以调用一个方法,获取rowdata
                        return rowdata;
                    }
                },
                .....
    });
    var rowdata = {"name":"lisi"};
    table.ajax.reload();

总之,就是要用 方法 来获取并返回参数,而不能直接使用 json 字符串。
 


        ajax: {
                type: "post",
                url: "signList.do",
                //注意:直接写成{"dayNum": d}不可行,dayNum会一直为0
                data:
                    function () {
                        sendData = {"dayNum": d};//这里可以调用一个方法,获取sendData
                        return sendData;
                    },
                beforeSend: function () {
                    console.log(d)
                }
            },

 

你可能感兴趣的:(杂记)