Foros del Web » Programando para Internet » Javascript »

Javascript CORS

Estas en el tema de Javascript CORS en el foro de Javascript en Foros del Web. Buenos días, A ver si me podéis echar un cable. En primer lugar decir que soy novato en esto, no tengo ni idea. Estoy aprendiendo ...
  #1 (permalink)  
Antiguo 09/03/2018, 03:26
 
Fecha de Ingreso: septiembre-2005
Mensajes: 7
Antigüedad: 12 años, 9 meses
Puntos: 0
Javascript CORS

Buenos días,

A ver si me podéis echar un cable.

En primer lugar decir que soy novato en esto, no tengo ni idea.

Estoy aprendiendo JavaScript y quería hacer un pequeño programita que me tragese datos en formato json de esta página:

https://sedeaplicaciones.minetur.gob.es/ServiciosRESTCarburantes/PreciosCarburantes/PostesMaritimos/

con el fin de sacar el precio de los carburantes en los surtidores marítimos de España.

el código es este:

document.getElementById("jsonBtn").addEventListene r("click", cargarJson);

Código:
function cargarJson() {
  const xhr = new XMLHttpRequest();

  xhr.open(
    "GET",
    "https://sedeaplicaciones.minetur.gob.es/ServiciosRESTCarburantes/PreciosCarburantes/PostesMaritimos/",
    true
  );

  xhr.onload = function() {
    if (this.status === 200) {
      const datos = JSON.parse(this.responseText);
      console.log(datos);
    }
  };

  xhr.send();
}

Analizándolo con las herramientas de desarrollo de Chrome, me da el siguiente error:

Failed to load https://sedeaplicaciones.minetur.gob.es/ServiciosRESTCarburantes/PreciosCarburantes/PostesMaritimos/: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.

Si bien el status devuelto es de 200:


detalle de las cabeceras:


General
Request URL: https://sedeaplicaciones.minetur.gob.es/ServiciosRESTCarburantes/PreciosCarburantes/PostesMaritimos/
Request Method: GET
Status Code: 200 Envio de datos correcto.
Remote Address: 193.146.1.88:443
Referrer Policy: no-referrer-when-downgrade


Response Headers
Cache-Control: private
Content-Length: 77679
Content-Type: application/json; charset=utf-8
Date: Fri, 09 Mar 2018 10:28:51 GMT
Server: Microsoft-IIS/7.5
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET

Request Header
Accept: */*
Accept-Encoding: gzip, deflate, br
Accept-Language: es-ES,es;q=0.9
Connection: keep-alive
Host: sedeaplicaciones.minetur.gob.es
Origin: null
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.14


He leído y leído, pero no consigo, ni aclararme ni dar con la solución.

Me podríais orientar??.

Muchas gracias.

Un saludo
  #2 (permalink)  
Antiguo 12/03/2018, 16:16
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.431
Antigüedad: 9 años, 9 meses
Puntos: 181
Respuesta: Javascript CORS

investiga por aquí

https://hacks.mozilla.org/2009/07/cr...est-with-cors/
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #3 (permalink)  
Antiguo 14/03/2018, 01:44
 
Fecha de Ingreso: septiembre-2005
Mensajes: 7
Antigüedad: 12 años, 9 meses
Puntos: 0
Respuesta: Javascript CORS

Ok, gracias, le echare un vistazo.

De momento lo he resuelto instalando un plugin en el navegador que activa o desactiva cors. También he probado en realizar la petición a php, y también me funcione.

Un saludo.



La zona horaria es GMT -6. Ahora son las 15:34.