Настроить DataTables нумерацию страниц в ответ на AJAX - PullRequest
0 голосов
/ 28 марта 2019

Привет, у меня есть API, созданный с помощью Laravel.Этот API-интерфейс будет возвращать постраничные записи данных.Таким образом, он будет включать в себя данные, количество, итог, hasMorePages и currentPage.Я возвращаюсь

enter image description here

Как настроить ссылки на страницы в DataTable?Кроме того, я хочу поставить функцию обратного вызова ajax, чтобы получить следующую страницу.Я проверил документацию https://datatables.net/reference/option/serverSide

Но я не могу найти то, что мне нужно, чтобы соответствовать моим требованиям.Вот мой javascript:

$("#search_games").click(function(){
var from = $("#from_date").val();
var to = $("#to_date").val();
console.log(from);
console.log(to);

$.post("/api/v1/get_games_result", { from: from, to: to }, function (data) {
    if ( ! $.fn.DataTable.isDataTable( '#example' ) ) {
        var t = $('#example').DataTable();
        t.clear().draw();
        var count = data.count;
        var currentPage = data.currentPage;
        var hasMorePages = data.hasMorePages;
        var total = data.total;
        var records = data.data;
        console.log(records.length);

        $.each(records, function (key, value) {
            var game_data = value.game_data;

            t.row.add( [
                game_data.game_id,
                game_data.game_date+" "+game_data.game_time,
                game_data.game_closing
            ] ).draw( false );

        });
    }
    var info = t.page.info();
    console.log(data);
});

});

Я хочу создать функцию, которая, когда пользователь нажимал кнопку страницы пагинации, будет запрашивать следующую страницу:

enter image description here

1 Ответ

0 голосов
/ 28 марта 2019

Я думаю, что вы получите ID следующей ссылки.enter image description here

Затем добавьте событие click в предложении IF:

if ( ! $.fn.DataTable.isDataTable( '#example' ) ) {
    <....>
    $('#ID of Next link').click(function() {
      Repost JSON Code here;
    });
}
...