aimenu

AJAX


Introducción a Fetch

Realizando Peticiones con fetch()

El Objeto response

Procesando los Datos de la Respuesta

El objeto response dispone de métodos para transformar la respuesta en diferentes formatos, cada uno devolviendo una promesa:

Ejemplo de procesamiento JSON:

fetch("/datos.json")
  .then(response => {
    if (!response.ok) { 
      throw new Error("Error HTTP: " + response.status); 
    }
    return response.json();
  })
  .then(data => {
    console.log("Datos recibidos:", data);
  })
  .catch(error => {
    console.error("Error en la petición:", error);
  });

Opciones de Petición (options)

La función fetch() puede recibir un segundo parámetro, un objeto de opciones, para configurar la petición:

Ejemplo completo:

fetch("/api/usuario", {
  method: "POST",
  headers: {
    "Content-Type": "application/json"
  },
  body: JSON.stringify({ nombre: "Juan", edad: 30 }),
  credentials: "same-origin"
})
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error("Error:", error));

Manejo de Errores y Flujo de Promesas

Consumiendo Promesas con async/await

La sintaxis async/await simplifica la lectura y escritura del código asíncrono:

async function obtenerDatos() {
  try {
    const response = await fetch("/api/usuario");
    if (!response.ok) {
      throw new Error("Error HTTP: " + response.status);
    }
    const data = await response.json();
    console.log("Datos:", data);
  } catch (error) {
    console.error("Error en la petición:", error);
  }
}

obtenerDatos();

Consideraciones Adicionales