我正在努力改善此数据表的加载时间性能。到目前为止,它只加载了700多条记录,而且它已经非常慢了。我在这个例子中正确使用deferRender吗?它似乎没有改变或改进任何东西。我认为它可能是阻碍它的loadJSON函数。
$(document).ready( function () {
$('#log_table').dataTable( {
"deferRender": true,
"dom": '<"top"f>rt<"bottom"lp><"clear">',
"fnCreatedRow": function( nRow, aData, iDataIndex ) {
},
"aoColumnDefs": [
{
"targets": [ 0 ],
"visible": false,
"searchable": false
}
]
} );
} );
function loadJSON(data){
console.log(data);
var t = $('#log_table').DataTable();
t.clear();
var json = $.parseJSON(data);
$.each(json, function(key,value) {
t.row.add( [
value.uuid,
value.date,
value.username,
value.loggedTable,
value.action_performed,
value.queryString
] ).draw();
});
}
$("#audit_trail_menu").click(function(){
$.ajax({
url: './inc/AuditTrailScripts.php?argument=loadAllRecords',
success: function(data) {
loadJSON(data);
}
})
});
PHP
if(!empty($_GET["argument"])){
/*
* loadAllRecords
* Fetch all records to load into the datatable
* table to fetch from - media
*/
if ($_GET['argument']=='loadAllRecords'){
$json= fetchAll();
echo json_encode($json);
}
};
答案 0 :(得分:0)
也许你编写了一个服务器脚本,它只返回一个数据片段的json。它可以在用户交互后呈现下一个数据包,例如。点击Datatable下一个正确的事件。
要实现此目的,您可以向PHP脚本发送参数,例如bundle的数量。