JavaScript - Error: falta la cabecera CORS "Access-Control-Allow-Origin

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

Error: falta la cabecera CORS "Access-Control-Allow-Origin

Publicado por armando (1 intervención) el 28/07/2020 22:42:25
Al ejecutar directamente la URL: http://freecurrencyrates.com/api/action.php?s=cbr&do=cvals&v=1&f=eur&iso=usd
Me sale en el depurador de errores;
{"updated":"1595930761","USD":1.1715999532811638}
pero al ejecutar el fichero divisas.php me da el error:
falta la cabecera CORS 'Access-Control-Allow-Origin'

Y no se como solucionarlo, he leido que añadiendo el codigo siguiente da accesso a todos los servidores externos con * o bien al servidor externo indicado pero nada.
1
2
3
<?php
header ('Access-Control-Allow-Origin: *');		// http://freecurrencyrates.com
?>


// divisas.php fichero situado y ejecutado desde localhost
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
<?php
	header ('Access-Control-Allow-Origin: *');		// http://freecurrencyrates.com
	?>
<!DOCTYPE html>
<html>
	<head>
		<meta charset = "UTF-8">
		<script>
			function getdetails ()
					{ var ajax_request = new XMLHttpRequest ();
					  ajax_request.withCredentials = true;
					  var url = "http://freecurrencyrates.com/api/action.php?s=cbr&do=cvals&v=1&f=eur&iso=usd";
					  ajax_request.open ("GET", url);
					  var request = new XMLHttpRequest();
					  // Definimos una función a ejecutar cuándo la solicitud Ajax tiene alguna información
					  ajax_request.onreadystatechange = function ()
							{ if (ajax_request.readyState == 4)
								 { // Analizo el responseText que contendrá el JSON enviado desde el servidor
								   var response = JSON.parse (ajax_request.responseText);
								   var html = "actualización: " + response.updated + "<br />"
											+ "1 € son: " + response.USD + " USD";
								   document.getElementById ("destino").innerHTML = html;
								   }
							  }
					  // Enviamos la solictud con los parámetros que habíamos definido
					  ajax_request.send ();
					  };
			</script>
		</head>
	<body>
		<button onclick = 'getdetails ();'>Obtener los datos</button>
		<div id = "destino"></div>
	</body>
</html>
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