Глядя на документацию Tabulator: http://tabulator.info/docs/4.5/page В ней упоминается:
Если вы пользователь Laravel, то вы должны обнаружить, что автоматически сгенерированные URL-адреса и данные обработка выполняется сразу, без дополнительной настройки.
Тем не менее, я получаю сообщение «загрузка» в таблице (которая остается там), и данные не отображаются. Согласно devtools, кажется, что данные загружаются корректно из Laravel (v6).
Используя пример, аналогичный тому, который упомянут в документации Табулятора:
var table = new Tabulator("#example-table", {
pagination:"remote", //enable remote pagination
ajaxURL:"http://testdata.com/data", //set url for ajax request
paginationSize:5, //optional parameter to request a certain number of rows per page
});
В Chrome devtools Я вижу правильный запрос (с успешным результатом 200):
http://testdata.com/data?page=1&size=5
Когда я вручную открываю этот URL (или в devtools), я вижу правильные данные, разбитые на страницы (примечание: моя Laravel нумерация страниц) устанавливается на 30 позиций на странице).
{
"current_page": 1,
"data": Array[30][
...
],
"first_page_url": "http://testdata.com/data?page=1",
"from": 1,
"last_page": 41,
"last_page_url": "http://testdata.com/data?page=41",
"next_page_url": "http://testdata.com/data?page=2",
"path": "http://testdata.com/data",
"per_page": 30,
"prev_page_url": null,
"to": 30,
"total": 1209
}
Пробовал и ->paginate(30)
и ->simplePaginate(30)
в Laravel. В качестве альтернативы, когда я использую маршрут + контроллер для вывода sh данных в представление и отображения их в качестве локальных данных, то в Табуляторе данные отображаются очень хорошо.
Предложения?
update : похоже, это связано с Blade-шаблонами . Когда я использую Tabulator в среде @extends
, я получаю описанное выше поведение. При использовании простой страницы HTML она работает как положено. Будет расследовать, почему @extends
вызывает проблемы.