JQuery Datatable重新加载

时间:2014-11-10 21:39:32

标签: jquery datatable reload

我正在尝试重新加载数据表。我单击一个单元格然后ajax请求工作。如果它返回成功,我需要用新数据重新加载数据表。我可以看到重新加载操作“正在处理”,但表中没有看到新数据。

我在删除过程中使用了相同的功能,但它确实有效。

这是我的代码示例;

var dataTableId = "#dataTable";

function deleteFunction(){

// works correctly

}

$(dataTableId).dataTable({
        "sAjaxSource": "url",
        "aoColumns": [
            ...
        ],
        "aoColumnDefs": [               
           ...    
       ]
});

    var table = $(dataTableId).DataTable();
    $('#dataTableFiles tbody').on('click', 'td', function () {

                 $.ajax({
                    url: "url",
                    type: 'post',
                    dataType: 'json',
                    data: postArray,
                    success: function (response) {
                        if (response.result) {
                            table.ajax.reload();
                        }
                        else {
                            table.ajax.reload();
                        }
                    },
                    error: function () {
                        console.log("err")
                    }
                });    
    });

谢谢..

2 个答案:

答案 0 :(得分:0)

尝试table.api().ajax.reload();

答案 1 :(得分:0)

我遇到了同样的问题。

确保控制器类中的函数还返回属性sEcho。 sEcho是在ajax请求中从客户端发送的,然后你必须在你的控制器类中捕获这个sEcho并将其发送回未经修改。所以控制器类的json看起来像这样 (其中sEcho = 10是从客户端发送的值)。

 { 
        "iTotalRecords": 10,
        "iTotalDisplayRecords": 10,
        "sEcho":10,
        "aaData": [

        ]
    }