我正在尝试重新加载数据表。我单击一个单元格然后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")
}
});
});
谢谢..
答案 0 :(得分:0)
尝试table.api().ajax.reload();
答案 1 :(得分:0)
我遇到了同样的问题。
确保控制器类中的函数还返回属性sEcho。 sEcho是在ajax请求中从客户端发送的,然后你必须在你的控制器类中捕获这个sEcho并将其发送回未经修改。所以控制器类的json看起来像这样 (其中sEcho = 10是从客户端发送的值)。
{
"iTotalRecords": 10,
"iTotalDisplayRecords": 10,
"sEcho":10,
"aaData": [
]
}