如何在 laravel jquery Ajax 中添加分页链接



>我正在尝试在我的视图中添加分页链接,但无法使用"$data->links((",因为我已经在ajax中传递了数据,并在表正文中传递了响应。另外,如果您能帮助我根据当前的结构完成分页,我将不胜感激。

function getAllUsers() {
$.ajax({
url: base_url + '/users/listing',
method: 'GET',
success: function(result) {
var html = '';
$.each(result.data, function(i, row) {
html += '<tr>'
html += '<td class="text-center">' + ++i + '</td>'
html += '<td>' + row.name + '</td>'
html += '<td>' + row.email + '</td>'
html += '<td>' + row.phone + '</td>'
html += '<td>' + row.created_at + '</td>'
html += '<td class="text-center"><ul class="table-controls">'
html += '<li><a href="" id="userEdit" data-id="' + row.id + '" data-toggle="modal" data-target="#userModal" data-placement="top" title="Edit"></a></li>'
html += '<li><a href="" id="userDel" data-id="' + row.id + '" data-toggle="tooltip" data-placement="top" title="Delete"></a></li>'
html += '</ul></td>'
html += '</tr>';
})
$('table tbody').html(html)
}
});
}
// Routes
Route::get('/users', 'BackendUserController@index')->name('users');
Route::get('/users/listing', 'BackendUserController@listing');

//Controller
public function index() {
return view('backend/users/listing');
}
public function listing() {
$users=User::paginate(5);
return $users;
}
<div class="table-responsive">
<table class="table table-bordered table-hover table-striped table-checkable table-highlight-head mb-4">
<thead>
<tr>
<th class="text-center">No.
</th>
<th class="">Name</th>
<th class="">Email</th>
<th class="">Phone</th>
<th class="">Register at</th>
<th class="text-center">Actions</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>

在模型中使用 ->paginate(( 帮助程序时,您不仅可以获取数据,还可以获得下一个和上一个链接的 url 以及响应:

{
....
"first_page_url": "http://laravel.app?page=1",
"last_page_url": "http://laravel.app?page=4",
"next_page_url": "http://laravel.app?page=2",
"data": ....
}

因此,您的成功函数应如下所示:

success: function(result) {
var html = '';
var nextlink = result.next_page_url;
$.each(result.data, function(i, row) {
....
}
}

最新更新