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
Hardware

Cómo Solucionar los Pitidos de la Placa Base (Beep Codes) al Encender el PC

Descubre qué significan los molestos pitidos que emite tu placa base al iniciar el ordenador y cómo solucionar el fallo de hardware subyacente de forma sencilla.

Leer guía completa →
Windows

Cómo Solucionar el Error DNS Server Not Responding en Windows Definitivamente

Aprende a solucionar el molesto error de red en Windows cuando el servidor DNS no responde. Guía práctica con métodos efectivos.

Leer guía completa →
Windows

Cómo Solucionar el Error CRITICAL_PROCESS_DIED en Windows de Forma Definitiva

Aprende a identificar las causas y a aplicar los mejores métodos definitivos para solucionar el error CRITICAL_PROCESS_DIED en Windows. Restaura la estabilidad de tu sistema operativo ahora.

Leer guía completa →