解决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)
                }
            },

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐