我最近才遇到这个问题,我用的是Laravel的分页我也用ajax。如果我有 2 个相同的日期,例如,我今天发布了一些内容,然后今天再次发布,当我转到下一页时,它只会向我显示与最后插入的帖子相同的值。
控制器:
public function table() {
$data= table::where('date_when','>=',today())->orderBy('date_when','ASC')->paginate(2);
return view('pages.table1',compact('data'));
}
public function fetch_data(Request $request) {
if($request->ajax()) {
$PIData = table::where('date_when','>=',today())->orderBy('date_when','ASC')->paginate(2);
return view('tables.table',compact('PIData'))->render();
}
}
然后我在我的观点上使用$data->links()
脚本
function paginateTable() {
$(document).on('click', '.pagination a', function(event) {
event.preventDefault();
var page = $(this).attr('href').split('page=')[1];
fetch_data(page);
});
function fetch_data(page) {
$.ajax({
url:"/fetch_data?page="+page,
success:function(data) {
$('#table_data').html(data)
}
});
}
}
我使用两个视图,一个用于显示表格以供我fetch_data在控制器上使用,另一个用于包含显示表格的视图。