我正在尝试重新加载datatable。我单击一个单元格,然后就会出现一个ajax请求。如果返回success,我需要用新数据重新加载datatable。我可以看到重载操作“正在处理”,但没有在表中看到新数据。
我在删除过程中使用了相同的函数,它起作用了。
下面是我的代码示例;
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")
}
});
});
谢谢。。
发布于 2014-12-09 14:20:52
试试table.api().ajax.reload();
发布于 2015-06-05 19:00:06
我也有同样的问题。
确保控制器类中的函数也返回属性sEcho。sEcho是在ajax请求中从客户端发送的,然后您必须在控制器类中捕获此sEcho,并原封不动地将其发送回来。因此,来自控制器类的json可能如下所示(其中sEcho=10是从客户端发送的值)。
{
"iTotalRecords": 10,
"iTotalDisplayRecords": 10,
"sEcho":10,
"aaData": [
]
}
https://stackoverflow.com/questions/26853464
复制相似问题