У меня есть таблица данных, которая отображает более 100 КБ строк из БД, и их загрузка занимает много времени.
Я хотел бы представить ленивую загрузку с нумерацией страниц.
Я прочитал: Отложенная загрузка данных , Обработка на сервере 1 , Обработка на стороне сервера 2 . Но я не уверен, как его использовать, чтобы он не работал.
Я загружаю свои данные из вызова ajax в java WebService, который возвращает json. Когда я добавляю свойство «serverSide: true», оно выглядит так, как будто оно загружает данные, но никогда не заканчивается и никогда не отображает их.
Я хотел бы знать, как мне «добавить» ленивую загрузку в мой процесс.
Вот мои данные:
function drawTable(){
$.fn.dataTable.moment( 'YYYY-MM-DD HH:mm:ss.SSS' );
currentTable = $('#dataTables').DataTable({
responsive: false,
ajax: {
"url": restURI + 'orch/search/events/',
"contentType": "application/json",
"type": "POST",
"data": function ( d ) {
return JSON.stringify(getDatasToSearch());
},
error: function(jqXHR, textStatus, errorThrown){
manageAjaxError(jqXHR, textStatus, errorThrown)
}
},
deferRender: true,
buttons: [
'selectAll',
'selectNone'
],
language: {
buttons: {
selectAll: "Select all items",
selectNone: "Select none"
}
},
select: {
selector: 'td:first-child',
style: 'multi'
},
order: [0, 'desc'],
aLengthMenu: [
[10, 25, 50, 100, -1],
[10, 25, 50, 100, "All"]
],
iDisplayLength: 25,
"columns": [
{ "data": "EVENT_ID", "defaultContent": "", "sClass": "text-center limitedWidth" },
{ "data": "FLOW_ID", "defaultContent": "", "sClass": "text-center limitedWidth" },
{ "data": "FLOW_NAME", "defaultContent": "", "sClass": "text-center limitedWidthFlNm" },
{ "data": "OBJECT_TYPE", "defaultContent": "", "sClass": "text-center limitedWidth" },
{ "data": "OBJECT_NAME", "defaultContent": "", "sClass": "text-center limitedWidth" },
{ "data": "OBJECT_VERSION", "defaultContent": "", "sClass": "text-center limitedWidth" },
{ "data": "OBJECT_ITERATION", "defaultContent": "", "sClass": "text-center limitedWidth" },
{ "data": "OPERATION_NAME", "defaultContent": "", "sClass": "text-center limitedWidth" },
{ "data": "OPERATION_STATUS", "defaultContent": "", "sClass": "text-center limitedWidth" },
{ "data": "OPERATION_MESSAGE", "defaultContent": "", "sClass": "text-center limitedWidth" },
{ "data": "CREATE_DATE", "defaultContent": "", "sClass": "text-center limitedWidth"},
{ "data": "UPDATE_DATE", "defaultContent": "", "sClass": "text-center limitedWidth " },
{ "data": null, "defaultContent": "<i class=\"fa fa-folder-open blue inline\" title=\"Explore files\"></i>   <i class=\"fa fa-eye blue inline\" title=\"Audit event\"></i><br/><i class=\"fa fa-retweet\" aria-hidden=\"true\" title='Resubmit this event'></i>   <i class=\"fa fa-ban\" aria-hidden=\"true\" title='Cancel this event'></i>", "bSortable": false, "sWidth": "85px", "sClass": "text-center unselectable limitedWidth"}
]
});
}
Дайте мне знать, если вам нужна дополнительная информация. Большое спасибо!
Добавление "deferRender": true уменьшить время с 1м45 до 38 сек. Можно ли иметь что-то лучше?