JavaScript - Problema con CORS en fetch

 
Vista:
sin imagen de perfil
Val: 2
Ha disminuido su posición en 37 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Problema con CORS en fetch

Publicado por Dani (4 intervenciones) el 19/02/2021 01:41:31
Hola, buenas noches.

Estoy intentando hacer la siguiente petición con fetch:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var myHeaders = new Headers();
myHeaders.append('Content-Type', 'application/json');
myHeaders.append('Accept', 'application/json');
 
myHeaders.append('Access-Control-Allow-Origin', 'http://localhost:8000');
myHeaders.append('Access-Control-Allow-Credentials', 'true');
 
myHeaders.append("x-inbenta-key", "my_key");
 
var raw = JSON.stringify({"secret":"secret_key"});
 
var requestOptions = {
    method: 'POST',
    headers: myHeaders,
    body: raw,
};
 
fetch("external_api_url", requestOptions)
    .then(response => response.text())
    .then(result => console.log(result))
    .catch(error => console.log('error', error));

Cuando lo ejecuto, me muestra el siguiente mensaje por consola:

1
Access to fetch at 'external_api_url' from origin 'http://127.0.0.1:8000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.

He añadido anteriormente las cabeceras. ¿Qué puede estar pasando? La api a la que quiero acceder es de un servicio externo, no es api propia ni está en mi servidor.

Muchas gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de joel
Val: 3.506
Oro
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Problema con CORS en fetch

Publicado por joel (895 intervenciones) el 19/02/2021 21:19:04
Hola Dani, has probado ha hacerlo con SSL... es decir con https://...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con CORS en fetch

Publicado por Dani (4 intervenciones) el 19/02/2021 22:04:13
Sí, he subido mi app a Heroku , he probado y sigue sin funcionar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jaime
Val: 60
Ha aumentado su posición en 2 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Problema con CORS en fetch

Publicado por Jaime (30 intervenciones) el 19/02/2021 21:26:15
Eso me pasó a mí una vez con Vuejs y flask. Lo que pasa es que el server debe tener la instalado y configurado la opción para recibir CORS. En mi experiencia, me tocó instalar en mi server flask la extensión FLASK-CORS. Luego, enviar en la cabecera "Access-Control-Allow-Origin: http://foo.example".
Espero te sea de ayuda mi anécdota.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con CORS en fetch

Publicado por Dani (4 intervenciones) el 19/02/2021 22:02:45
El problema es que es la API de una empresa externa, no puedo acceder a sus servidores para instalar CORS
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Jaime
Val: 60
Ha aumentado su posición en 2 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Problema con CORS en fetch

Publicado por Jaime (30 intervenciones) el 19/02/2021 22:25:40
Y sí es una API ajena, entonces no ponga en el header "localhost". Tienes que poner una ip publica, con SSL.
Sí sigue sin funcionar, el problema sería que el servidor de la api está muy seguro o no tiene instalado la CORS.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Problema con CORS en fetch

Publicado por Dani (4 intervenciones) el 19/02/2021 22:48:41
He subido mi web a Heroku y con ssl he probado y sigue fallando...

Muchas gracias por la ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar