Manejo de Respuestas HTTP
Cuando haces una petición confetch(), recibes un objeto Response. Este objeto contiene información sobre la respuesta del servidor y métodos para procesar los datos.
El Objeto Response
Propiedades Importantes
response.ok
response.ok
Boolean que indica si la respuesta fue exitosa (status 200-299).Es la forma más simple de verificar si hubo un error.
response.status
response.status
Código de estado HTTP numérico.
response.statusText
response.statusText
Mensaje de texto asociado al código de estado.
response.headers
response.headers
Objeto Headers con las cabeceras de respuesta.
Procesar el Cuerpo de la Respuesta
El cuerpo de la respuesta debe ser procesado con uno de estos métodos:response.json()
Parsea el cuerpo como JSON. Retorna una Promise.response.text()
Obtiene el cuerpo como texto plano:response.blob()
Para archivos binarios (imágenes, PDFs, etc.):response.arrayBuffer()
Para datos binarios en bruto:response.formData()
Para datos de formulario:Cada uno de estos métodos puede llamarse solo UNA vez. El cuerpo de la respuesta es un stream que se consume.
Verificar Códigos de Estado
Manejo Básico con response.ok
Manejo Específico por Código
Ejemplo Completo: Verificación de Respuesta
Manejar Errores de Red
Fetch rechaza la Promise solo en errores de red (sin conexión, DNS falla, etc.), NO en errores HTTP:Leer Headers de Respuesta
Timeout y Abortar Peticiones
Usando AbortController
Función Helper con Timeout
Respuestas con Diferentes Content-Types
- JSON
- HTML
- Imagen
- CSV
Buenas Prácticas
1
Siempre verifica response.ok
2
Maneja errores apropiadamente
3
Verifica el Content-Type
4
Proporciona feedback al usuario
Próximos Pasos
localStorage
Guarda datos en el navegador permanentemente
Ejemplos de Fetch
Ve ejemplos completos de uso de Fetch