Может кто-нибудь помочь мне с перезагрузкой данных таблицы? Проблема в том, что у меня есть таблица и 50000 записей из моего вызова API. Он тратит слишком много времени на загрузку страницы, поэтому я пытаюсь перезагрузить данные, когда пользователь нажимает номер страницы. Например, на странице 1 загружаются 50 записей, затем загружаются еще 50 записей, когда пользователь нажимает на страницу 2, и так далее. Библиотека, которую я использовал, это https://l -lin.github.io / angular-datatables / archives / #! / ServerSideProcessing .
Моя идея в том, чтобы использовать запрос LIMIT и OFFSET в моем PHP-бэкэнде, а затем перейти к контроллеру angularjs. Используйте ajax для вызова моего бэкэнд-API и записи текущей страницы, а затем вернитесь к моему бэкэнду для второй страницы, чтобы вызвать еще 50 записей данных.
Мой код JS
var vm = this;
vm.dtOptions = DTOptionsBuilder.newOptions().withFnServerData(
function (sSource, aoData, fnCallback, oSettings) {
$http({
method: 'POST',
url: 'API from backend',
data: {
start: aoData[3].value,
length: aoData[4].value,
draw: aoData[0].value,
order: aoData[2].value,
search: aoData[5].value,
columns: aoData[1].value
},
headers: {
'Content-type': 'application/json'
}
})
.then(function(result) {
var records = {
'draw': result.data.draw,
'recordsTotal': result.data.recordsTotal,
'recordsFiltered': result.data.recordsFiltered,
'data': result.data.data
};
fnCallback(records);
});
}
)
.withDataProp('data')
.withOption('processing', true)
.withOption('serverSide', true)
.withPaginationType('full')
Данные всегда нулевые, когда я проверяю на своем бэкэнде.