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
WordPress

Cómo Solucionar el Error 503 Service Unavailable en WordPress de Forma Definitiva

El error 503 Service Unavailable impide que los visitantes accedan a tu web en WordPress. Descubre cómo identificar la causa y solucionarlo rápidamente.

Leer guía completa →
Juegos

Cómo Solucionar el Error de la Pantalla Negra en VALORANT de Forma Definitiva

La pantalla negra al arrancar VALORANT es un problema frustrante pero común. Descubre cómo solucionarlo definitivamente con estos métodos.

Leer guía completa →
Mac

Cómo Solucionar el Error 'La aplicación está dañada y no se puede abrir' en macOS de Forma Definitiva

Aprende a solucionar de forma definitiva el error que impide abrir apps de terceros en tu Mac por culpa de Gatekeeper. Guía paso a paso.

Leer guía completa →