RED Y ASINCRONÍA

CORS: el navegador bloquea la respuesta

El navegador impide que una página lea una respuesta de otro origen si el servidor no autoriza el acceso mediante CORS.

Si te aparece: Blocked by CORS policy / No Access-Control-Allow-Origin header

Solución rápida: Configura CORS en el servidor que controla el recurso o utiliza una API/proxy propio autorizado. No intentes resolverlo con mode: no-cors.

Qué está pasando

La política de origen cruzado la aplica el navegador y depende de las cabeceras de respuesta del servidor.

Cómo corregirlo

✕ Código problemático
// No soluciona el acceso a los datos:
fetch('https://api.ejemplo.test/datos', { mode: 'no-cors' });
✓ Código corregido
// En tu servidor, habilita la procedencia permitida.
// En cliente, llama a un endpoint que admita ese origen.
fetch('/api/datos').then(r => {
  if (!r.ok) throw new Error('HTTP ' + r.status);
  return r.json();
});

Cómo comprobarlo

Abre la pestaña Network y confirma que el servidor responde con la cabecera CORS apropiada al origen del sitio.

Ten en cuenta

no-cors entrega una respuesta opaca: no permite leer su cuerpo como solución general. Este caso requiere un servidor real, no un ejemplo ejecutable en el laboratorio aislado.