Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

414
Views
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.

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

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';
about 4 years ago · Juan Pablo Isaza Report

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

about 4 years ago · Juan Pablo Isaza Report

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!!

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!