Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

83
Vistas
Paginación de Laravel con respuesta ajax

Estoy tratando de crear un sistema de paginación con Laravel. En el lado del backend, devuelvo una respuesta JSON como esta:

 if(isset($request->myDate)) { $request->validate([ 'myDate' => 'required|date', ]); $start_date = $request->get('myDate'); $end_date = Carbon::now(); $my_tickets = Ticket::where('admin_id', Auth::user()->id)->whereBetween('updated_at', [$start_date, $end_date])->with(['getAdmin'])->paginate(10); } return json_encode($my_tickets);

En el lado frontal, estoy usando una solicitud AJAX para mostrar las filas. Mi pregunta ahora es cómo implementar el sistema de paginación. ¿Hay alguna función incorporada de Laravel o componentes de terceros para simplificar esto? ¿Tengo que construir la parte delantera por mi cuenta? No puedo acceder a $var->links() ya que no es la misma función que devolver la vista.

Saludos

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

En la respuesta de la interfaz, puede obtener el número de página, un número total de conteos, por página, etc. Si desea usar la paginación ajax personalizada, use el siguiente código en ajax.

 var page = '' var count = 0; if (response.total > response.perPage) { if (response.page != 1) { page += '<li class="page-item"><a class="page-link" data-page="' + (response.page - 1) + '" href="#">' + 'Previous' + '</a></li>' } for (i = response.page; i <= response.totalPage; i++) { count++; if (response.page == i) { page += '<li class="page-item active"><a class="page-link" data-page="' + i + '" href="#">' + i + '</a></li>' } else { page += '<li class="page-item"><a class="page-link" data-page="' + i + '" href="#">' + i + '</a></li>' } if (count == 10) break; } $('.number-of-show').append(' Showing ' + ((response.perPage * (response.page - 1)) + 1) + ' to ' + response.perPage * response.page + ' of ' + response.total); $('.pagination').append(page); }

en el controlador

 $page = ''; if (!empty($data['page'])) { $page = $data['page']; } $params['perPage'] = 500; $params['offset'] = ($page - 1) * $params['perPage']; $withdrawRequestLists = $paramsData['data']; $total = $paramsData['total']; $totalPage = ceil($total / $params['perPage']);
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda