Paginación con JavaScript, JSON y Bootstrap 5

Paginación con JS

Paginación con JS

En esta entrada, te explicaremos cómo implementar un sistema de paginación en una lista de países, utilizando JavaScript, JSON, y Bootstrap 5 para estilizar la interfaz. Este tutorial continúa lo que vimos anteriormente en el post sobre paginación con PHP, MySQL, jQuery, AJAX y Bootstrap 5, pero aquí usaremos solo JavaScript y datos estáticos en formato JSON, lo cual resulta ideal para aplicaciones de front-end sin necesidad de un servidor backend.

Estructura del Proyecto

Antes de adentrarnos en el código, aquí está la estructura básica que vamos a utilizar:

  • index.html: el archivo principal donde se construirá la interfaz.
  • paises.json: un archivo JSON con los datos de los países que usaremos para la paginación y filtrado.

Código HTML (index.html)

Este archivo define la interfaz principal, el formulario de búsqueda, y la tabla para mostrar los datos paginados.

Explicación del Código

  1. Formulario de Búsqueda: Este formulario tiene dos campos de búsqueda, uno para el nombre del país y otro para la capital. Cada campo dispara la función filtrarYPaginar cada vez que se presiona una tecla, permitiendo filtrar los resultados en tiempo real.
  2. Tabla de Resultados: Aquí es donde se insertarán las filas de los países paginados. La tabla es responsive gracias a la clase table-responsive de Bootstrap.
  3. fetch y JSON: Usamos fetch para cargar el archivo paises.json, el cual contiene los datos de los países. Una vez cargados, llamamos a la función filtrarYPaginar para mostrar la primera página.
  4. Función filtrarYPaginar:
    • Filtrado: La función filtra los países según los valores ingresados en los campos de búsqueda.
    • Paginación: Calcula el total de páginas y los países que pertenecen a la página actual.
    • Inserción en la Tabla: Inserta los países en el tbody de la tabla.
    • Controles de Paginación: Crea los botones de paginación y resalta el botón de la página actual.

Archivo JSON (paises.json)

El archivo paises.json contiene una lista de países en formato JSON. Aquí un fragmento del contenido:

Este JSON se carga en paises mediante fetch en el archivo JavaScript y se utiliza para generar la paginación y los filtros en tiempo real.

Sugerencias Finales

  • Ajusta itemsPorPagina en el script de JavaScript para cambiar la cantidad de elementos por página.
  • Agrega clases de Bootstrap para mejorar el diseño y la presentación visual de los elementos.
  • Modifica los filtros o la tabla según los datos que necesites mostrar en tu propio proyecto.

Este tipo de paginación usando JSON es una excelente alternativa para proyectos que no requieren almacenar datos sensibles o que no dependen de una base de datos como MySQL. Dado que el archivo paises.json se encuentra de forma pública en el servidor, es ideal para compartir información de acceso general, como datos de países, productos, o contenido informativo que no necesita protección estricta. Sin embargo, para datos sensibles o con alta frecuencia de actualización, es recomendable usar una base de datos y mecanismos de autenticación y seguridad más robustos.


Ver demostración