为 ajax 响应自定义 DataTables 分页
Posted
技术标签:
【中文标题】为 ajax 响应自定义 DataTables 分页【英文标题】:Customize DataTables pagination fror ajax response 【发布时间】:2019-08-18 21:37:36 【问题描述】:您好,有一个用 Laravel 制作的 api。此 api 将返回数据的分页记录。所以它将包括数据、计数、总计、hasMorePages 和 currentPage。我回来了
如何自定义 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);
);
);
我想做一个功能,当用户点击分页页面按钮时,我会请求下一页:
【问题讨论】:
我希望您看过数据表服务器端处理示例。我想这应该对你有所帮助。我不知道 Laravel,但示例 here 是在 php 中应该足够了。 @PriyankPanchal 谢谢。我看过了,但是这个例子和我的 api return 很不一样 所以我假设您不需要任何搜索或排序功能?因为如果您实现自己的 API,搜索和排序将无法正常工作。因为它只会搜索和排序表中显示的数据,而不是从服务器获取。 【参考方案1】:我认为您获得了 Next 链接的 ID。
然后在IF子句中添加点击事件:
if ( ! $.fn.DataTable.isDataTable( '#example' ) )
<....>
$('#ID of Next link').click(function()
Repost JSON Code here;
);
【讨论】:
以上是关于为 ajax 响应自定义 DataTables 分页的主要内容,如果未能解决你的问题,请参考以下文章