【发布时间】:2014-08-11 04:54:39
【问题描述】:
从服务器端获取数据,然后将数据添加到 Datatables。但是在调用fndraw() 函数时。 ajax 没有再次加载,oSettings_aData 为空。
调用$("#clientTable").dataTable().fnDraw();,但点击按钮时没有数据加载到表中。
这是我填充数据表的函数。
function fillGrid() {
alert("enterened fillgrid");
$.ajax({
type: 'POST',
url: 'BehindCode/client.aspx/fillgrid',
cache: false,
dataType: "json",
contentType: "application/json; charset=utf-8",
beforeSend: function() {
$('#gridLoadingDiv').attr('style', 'display:block');
},
complete: function() {
$('#gridLoadingDiv').attr('style', 'display:none');
},
data: "{}",
success: function(data) {
//data = data.d;
data = JSON.parse(data.d).Data;
// alert(data);
alert("entered success");
$("#clientTable").DataTable({
"stateSave": true,
"searching": true,
"processing": true,
"data": data,
// "ordering": false,
"order": [
[2, "asc"]
],
"columns": [{
"data": null,
"defaultContent": ' <input type="checkbox" onclick="return selectOne();" />',
"sorting": false
},
{
"data": "CLIENT_ID",
"visible": false
},
{
"data": "CLIENT_NAME"
},
{
"data": null,
"defaultContent": ' <a ><img id="editimg" src="images/edit.png" width="15px" alt="edit" onclick="callEdit(this);" /></a>',
"sorting": false
}
],
"fnDrawCallback": function(oSettings) {
alert(oSettings);
alert("draw called");
}
});
}
});
}
【问题讨论】:
-
我在点击按钮时做了类似的事情,但我使用了
sAjaxSource和fnServerData的组合。在fnServerData我有一个成功的ajax 调用我会清除表并将调用fnDraw()这很酷。 -
请发布您的代码。 sAjaxSource 文件也是
-
也许你可以查看
table.api().ajax.reload();,如果你使用最新的 DT 版本就可以了 -
你尝试新方法
$().DataTable().ajax()了吗?它适用于这种情况.. datatables.net/reference/api/ajax -
@supercool 你打败了我:P
标签: jquery datatables