我有一个DataServer,sServerSide选项设置为true,因此它会按预期从服务器获取数据。我想动态地将新行添加到表中(使用WebSockets实时) - 我需要一种方法来直接修改从上一次AJAX调用缓存的数据,这样即使我在表上切换页面,新添加的实时行也将当我回到第一页时仍然在那里。
如何做到这一点?
答案 0 :(得分:0)
应将.ajax调用修改为cache = false
您必须覆盖fnServerData
http://datatables.net/ref#fnServerData
// POST data to server
$(document).ready( function() {
$('#example').dataTable( {
"bProcessing": true,
"bServerSide": true,
"sAjaxSource": "xhr.php",
"fnServerData": function ( sSource, aoData, fnCallback, oSettings ) {
oSettings.jqXHR = $.ajax( {
"dataType": 'json',
"type": "POST",
"url": sSource,
"data": aoData,
"cache": false, //set to false so there is no caching
"success": fnCallback
} );
}
} );
} );
刷新后,新数据就会出现。
参考:
http://api.jquery.com/jQuery.ajax/