提问者:小点点

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


我试图在视图中添加分页链接,但不能使用“$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


共1个答案

匿名用户

在模型中使用->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) {
        ....
    }
}