• Empleos
  • Sobre nosotros
  • Empleos
    • Inicio
    • Empleos
    • Cursos y retos
  • Empresas
    • Inicio
    • Publicar vacante
    • Nuestro proceso
    • Precios
    • Evaluaciones
    • Contrata talento tech
    • Blog
    • Comercial
    • Calculadora de salario

0

373
Vistas
cuando me conecto con javascript a mi API REST: error de red de origen cruzado

si ejecuto curl localhost:8080/recipes funciona. Pero si uso mi codigo en javascript en firefox me aparece los siguientes errores:

  • Solicitud de origen cruzado bloqueada: la política del mismo origen no permite leer el recurso remoto en https://localhost:8080/recipes. (Motivo: la solicitud de CORS no tuvo éxito). Código de estado: (nulo).
  • TypeError: NetworkError al intentar recuperar el recurso.

ingrese la descripción de la imagen aquí

Sin embargo, si usa directamente la URL, funciona:

ingrese la descripción de la imagen aquí

Mi código de cliente en javascript es muy simple:

 const url = 'http://localhost:8080'; const ul = document.getElementById('parrafo'); const list = document.createDocumentFragment(); const btn = document.getElementById("boton"); btn.addEventListener("click", function () { sendData(); }); function sendData(){ fetch(url + "/recipes") .then((response) => { return response.json(); }) .then((data) => { let recipes = data; recipes.map(function(recipe) { let li = document.createElement('li'); let name = document.createElement('h2'); let id = document.createElement('span'); name.innerHTML = `${recipe.name}`; id.innerHTML = `${recipe.id}`; li.appendChild(name); li.appendChild(id); list.appendChild(li); }); }) .catch(function(error) { console.log(error); }); ul.appendChild(list); }

Gracias por adelantado

====================================

En la misma máquina, en entorno de desarrollador, ¿cómo se debe ejecutar el frontend, directamente en un navegador? (¿Lo abro directamente con firefox?) Con el backend no tengo ningún problema, funciona perfectamente.

almost 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Está intentando conectarse a localhost con "https", lo que hace que su solicitud sea un error.

en la URL su solicitud es con "HTTP". así que cambia esta línea:

 const url = 'http://localhost:8080';
almost 4 years ago · Juan Pablo Isaza Denunciar

0

Debe usar un proxy en el lado del cliente o habilitar CORS en el lado del servidor. De forma predeterminada, las solicitudes entre dos puertos diferentes están deshabilitadas por CORS

almost 4 years ago · Juan Pablo Isaza Denunciar

0

Lo arreglé yo mismo es fácil:

 import ( "encoding/json" "io/ioutil" "net/http" "time" "github.com/gin-contrib/cors" "github.com/gin-gonic/gin" )

Usando el paquete cors tengo que agregar la siguiente línea: ** router.Use(cors.Default()) ** ¡¡Gracias!!

almost 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Nuestro proceso Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda