Cómo Solucionar el Error CORS (Access-Control-Allow-Origin) en JavaScript y Node.js Paso a Paso

Cómo Solucionar el Error CORS (Access-Control-Allow-Origin) en JavaScript y Node.js Paso a Paso
Anuncio relacionado

¿Qué es el error CORS y por qué ocurre en el desarrollo web?

El error CORS (Cross-Origin Resource Sharing) es un mecanismo de seguridad implementado por los navegadores web modernos que restringe las solicitudes HTTP realizadas desde un dominio (origen) hacia un servidor ubicado en un dominio diferente. Cuando tu aplicación frontend en React, Vue o JavaScript vainilla intenta consumir una API en Node.js alojada en un puerto o dominio distinto sin la debida autorización, el navegador bloquea la respuesta y muestra el temido mensaje Access-Control-Allow-Origin en la consola.

Principales causas del bloqueo por CORS

Este problema de comunicación cliente-servidor suele presentarse por:

  • Falta de configuración de encabezados HTTP en el servidor backend.
  • Intento de realizar peticiones AJAX o Fetch a dominios diferentes sin habilitar explícitamente el origen.
  • Falta de soporte para solicitudes preflight (método OPTIONS) cuando se envían encabezados personalizados o métodos como PUT y DELETE.

Método 1: Solucionar CORS en Node.js usando el paquete cors

La forma más rápida y recomendada en entornos de desarrollo con Express.js es utilizar el middleware oficial cors.

  1. Abre tu terminal en la raíz del proyecto backend e instala el paquete ejecutando: npm install cors
  2. Abre tu archivo principal del servidor (por ejemplo, server.js o app.js).
  3. Importa e implementa el middleware antes de definir tus rutas:

const express = require('express');
const cors = require('cors');
const app = express();
app.use(cors());

Método 2: Configurar encabezados HTTP manualmente en el servidor

Si no utilizas Express o prefieres un enfoque nativo sin dependencias externas, puedes añadir los encabezados correspondientes directamente en la respuesta del servidor Node.js.

  1. Localiza el archivo donde manejas las solicitudes del servidor HTTP.
  2. Añade los siguientes encabezados en todas las respuestas salientes antes de enviar los datos:

res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization');

Anuncio
Seguir Leyendo

Guías y Soluciones Relacionadas

Windows Apps Juegos
Mac

Cómo Solucionar el Error 'No se puede abrir porque el desarrollador no se ha podido verificar' en Mac Paso a Paso

¿Tu Mac bloquea la instalación de una aplicación de confianza? Descubre cómo saltarte la restricción de seguridad de macOS en pocos pasos.

Leer guía completa →
Juegos

Cómo Solucionar el Error de Fallo de Sincronización en Epic Games Launcher Paso a Paso

¿Problemas para sincronizar tus nubes de guardado en Epic Games? Aprende a resolver este fallo de forma rápida y segura.

Leer guía completa →
PrestaShop

Cómo Solucionar el Error 500 en PrestaShop de Forma Definitiva

El Error 500 en PrestaShop es uno de los fallos más frustrantes para los dueños de tiendas online. Aprende a identificar su causa exacta y aplica la solución definitiva.

Leer guía completa →