如何使用 AJAX LARAVEL 分页获取数据

How to fetch data using AJAX LARAVEL with pagination

关于如何使用 AJAX LARAVEL 分页获取数据,您能否建议一种方法?我已经有一个使用 AJAX 的获取功能并且它已经在工作,但我想添加一个分页。提前谢谢你。

这是我的控制器

public function fetchAllCustomer()
{

    $customers = Customer::all();
    return response()->json([
        'customers'=>$customers,
    ]);
}

这是我的 AJAX 函数

function fetchstudent() {
      $.ajax({
          type: "GET",
          url: "/fetch-customer",
          dataType: "json",
          success: function (response) {
              // console.log(response);
              $('tbody').html("");
              $.each(response.customers, function (key, item) {
                  $('tbody').append('<tr>\
                      <td>' + item.first_name + '</td>\
                      <td><button type="button" value="' + item.id + '" class="btn btn-primary editbtn btn-sm">Edit</button></td>\
                      <td><button type="button" value="' + item.id + '" class="btn btn-danger deletebtn btn-sm">Delete</button></td>\
                  \</tr>');
              });
          }
      });
  }

Laravel 文档 - 使用 Eloquent 分页: https://laravel.com/docs/9.x/pagination#paginating-eloquent-results

而不是:

public function fetchAllCustomer()
{

$customers = Customer::all();
return response()->json([
    'customers'=>$customers,
]);
}

应该是:

    public function fetchAllCustomer()
{
    $customers = Customer::paginate(15);
    // handle your pagination links in AJAX
    $paginationLinks = (string) $customers->links();
    return response()->json([
        'customers'  =>$customers,
        'pagination' => $paginationLinks
    ]);
}