我正在使用具有以下配置的dataTables插件:
$('#userList').dataTable({
"bProcessing": true,
"bFilter": false,
"bServerSide": true,
"iDisplayLength": -1,
"sDom": 'frt',//no pagination
"order": [[ 1, 'asc' ]],
"aoColumnDefs": [
{ "sClass": "center", "aTargets": [1, 2, 3, 4, 5] },
{ "bSortable": false, "aTargets": [0, 2, 4, 5, 6] },
{ "bVisible": false, "aTargets": [0, 6] },
{
"aTargets": [4],
"mRender": function ( data, type, row ) {
if(data == 1)
return '<img src="../assets/img/icons/star.png" class="star-link" id="star-' + row[6] +'"/>';
else
return '';
},
{
"aTargets": [5],
"mRender": function ( data, type, row ) {
return '<a href="#" class="action-link" id="action-' + row[6] +'">' + data + '</a>';
}
}
],
"sAjaxSource": url,
fnServerData: function ( sSource, aoData, fnCallback ) {
aoData.push( {'name':'channelName', 'value':channelName} );
aoData.push( {'name':'ajax', 'value':true} );
aoData.push( {'name':'action', 'value':'getUserList'} );
$.ajax({
"dataType": "json",
"type": "POST",
"url": sSource,
"data": aoData,
"success": fnCallback
});
},
....
正如您所看到的,我正在使用fnServerData
函数通过POST方法将数据传递到服务器。这段代码效果很好。但我需要刷新一些事件的表格内容。
我尝试了fnReloadAjax()
,但它不能与bServerSide
设置为true一起使用。此外,我尝试了fnDraw
,但它不起作用:没有数据传递给服务器。
除了销毁和重建桌子之外,还有解决方案吗?