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