javascript - solved - not allowed access control allow origin
XMLHttpRequest no puede cargar URL. Origen no permitido por Access-Control-Allow-Origin (1)
Use Ajax con JSONP si lo desea en jquery
Para javascript, consulte aquí, http://developer.chrome.com/extensions/xhr.html y http://www.leggetter.co.uk/2010/03/12/making-cross-domain-javascript-requests-using -xmlhttprequest-or-xdomainrequest.html
Utilice los datos de formato .json en lugar de .xml para hacer que su aplicación sea más simple y rápida, es decir, http://api.wunderground.com/api/3c6e3d838e217361/geolookup/conditions/forecast/q/51.11999893,-114.01999664.json
Quiero crear un sitio web pequeño que use datos xml de otro dominio. (Datos meteorológicos de Weather Underground: www.wunderground.com). Estoy utilizando solo html y javascript, y lo estoy escribiendo en Visual Studio Express 2012 para Web.
Realizo y envío la solicitud xml de la siguiente manera:
url = "http://api.wunderground.com/api/3c6e3d838e217361/geolookup/conditions/forecast/q/51.11999893,-114.01999664.xml";
xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", url, false);
xmlhttp.send();
xmlDoc = xmlhttp.responseXML;
El problema es que recibo el siguiente error en la consola del desarrollador de Google Chrome (versión 29.0.1547.66):
XMLHttpRequest cannot load http://api.wunderground.com/api/3c6e3d838e217361/geolookup/conditions/forecast/q/51.11999893,-114.01999664.xml. Origin http://localhost:49933 is not allowed by Access-Control-Allow-Origin.
O esto en la consola de Internet Explorer (versión 10.0.8):
SEC7118: XMLHttpRequest for http://api.wunderground.com/api/3c6e3d838e217361/geolookup/conditions/forecast/q/51.11999893,-114.01999664.xml required Cross Origin Resource Sharing (CORS).
Según tengo entendido, CORS ( http://enable-cors.org/ ) necesita esfuerzo tanto del cliente como del servidor para trabajar. Quiero suponer que la API Weather Underground sabe lo que está haciendo y ha habilitado las cosas de forma adecuada, como configurar el encabezado de respuesta para incluir ''Access-Control-Allow-Origin: *'', y sé que tengo los mismos problemas cuando Intento el mismo código usando otro proveedor de API (World Weather Online). Así que creo que esto es algo que debería poder corregir en mi código de cliente. Otra respuesta SO donde la sugerencia es arreglar el encabezado del servidor: CORS con XMLHttpRequest
He tratado de encontrar respuestas, pero no entiendo artículos como: http://dev.opera.com/articles/view/dom-access-control-using-cross-origin-resource-sharing/ http: // saltybeagle.com/2009/09/cross-origin-resource-sharing-demo/