Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/03/2018, 04:26
hagapito
 
Fecha de Ingreso: septiembre-2005
Mensajes: 7
Antigüedad: 18 años, 7 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