Cómo Solucionar el Error CORS (Cross-Origin Resource Sharing) en JavaScript y Node.js Definitivamente

Cómo Solucionar el Error CORS (Cross-Origin Resource Sharing) en JavaScript y Node.js Definitivamente
Anuncio relacionado

Introducción al Error CORS en el Desarrollo Web

Uno de los dolores de cabeza más comunes para los desarrolladores frontend y backend es el bloqueo por parte del navegador debido a la política de mismo origen (Same-Origin Policy). El error CORS (Cross-Origin Resource Sharing) ocurre cuando una aplicación web realiza una petición HTTP a un dominio, puerto o protocolo diferente al suyo y el servidor no incluye los encabezados de respuesta adecuados.

Causas Principales del Error CORS

El navegador bloquea automáticamente la respuesta de la solicitud por motivos de seguridad si se cumplen las siguientes condiciones:

  • El frontend y el backend están en diferentes dominios o subdominios.
  • Ambas aplicaciones corren en el mismo servidor pero en puertos diferentes (por ejemplo, frontend en http://localhost:3000 y backend en http://localhost:5000).
  • La petición no incluye los encabezados HTTP correctos permitiendo el intercambio de recursos entre distintos orígenes.

Método 1: Configurar CORS en Node.js usando Express

La forma más rápida y recomendada de solucionar este problema en un entorno de Node.js con Express es utilizando el paquete oficial cors.

  1. Instala el paquete en tu proyecto ejecutando el siguiente comando en tu terminal:
    npm install cors
  2. Importa y configura el middleware en tu archivo principal (ej. server.js o app.js):
    const express = require('express');
    const cors = require('cors');
    const app = express();
    app.use(cors());
  3. Reinicia tu servidor backend y vuelve a probar la petición desde el frontend.

Método 2: Configurar Encabezados HTTP Manualmente

Si no deseas instalar paquetes adicionales, puedes configurar los encabezados de respuesta manualmente mediante un middleware personalizado en tu servidor.

  1. Abre tu archivo de configuración del servidor backend.
  2. Agrega el siguiente middleware antes de definir tus rutas:
    app.use((req, res, next) => {
    res.setHeader('Access-Control-Allow-Origin', '*');
    res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
    res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization');
    next();
    });
  3. Guarda los cambios, reinicia la aplicación y verifica que el error haya desaparecido de la consola del navegador.
Anuncio
Seguir Leyendo

Guías y Soluciones Relacionadas

Windows Apps Juegos
Mac

Cómo Solucionar el Error 'Operation Not Permitted' en la Terminal de macOS

Si la Terminal de tu Mac bloquea tus comandos con el mensaje 'Operation not permitted', se debe a las restricciones de seguridad de macOS. Aprende a solucionarlo en pocos pasos otorgando los accesos correctos.

Leer guía completa →
Juegos

Cómo Solucionar el Error DXGI_ERROR_DEVICE_HUNG en Juegos de PC Definitivamente

Aprende a solucionar el error DXGI_ERROR_DEVICE_HUNG que cierra tus juegos inesperadamente. Aplica nuestros métodos infalibles para recuperar el rendimiento de tu tarjeta gráfica.

Leer guía completa →
WordPress

Cómo Solucionar el Error al Establecer una Conexión con la Base de Datos en WordPress de Forma Definitiva

Este es uno de los fallos más críticos de WordPress que deja tu web fuera de servicio. Aprende a diagnosticarlo y solucionarlo de forma rápida y segura.

Leer guía completa →