我试图在视图中添加分页链接,但不能使用“$data->links()”,因为我在ajax中传递了数据,在表tbody中传递了响应。 此外,如果你能帮助我完成我的分页根据我目前的结构,我将不胜感激。
null
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', 'Backend\UserController@index')->name('users');
Route::get('/users/listing', 'Backend\UserController@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>
null
在模型中使用->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) {
....
}
}