2012-01-15 632 views
2

我试图做出雅虎的请求wheather FORCAST这样产地http://XXXXX.com没有被允许访问控制允许来源

function parseXml(woeid) 
{ 
$.ajax({ 
    type: "GET", 
    url: "http://weather.yahooapis.com/forecastrss?w="+woeid, 
    dataType: "xml", 
    success: parse_wheather 
}); 
} 

,我得到了以下错误消息

XMLHttpRequest cannot load http://weather.yahooapis.com/forecastrss?w=1937103. Origin http://XXXXXXXX.com is not allowed by Access-Control-Allow-Origin. 

我知道,我不能从本地主机的要求,但我不运行的本地主机 我该如何解决这个问题?

回答

2

我知道,我不能让请求从本地主机

实际上,由于同一origin policy restriction无法发送跨域AJAX调用。所以你不仅限于localhost。您仅限于与http://weather.yahooapis.com不同的任何内容。因此,除非包含您的JavaScript的页面托管在此域中,否则无法向其发送AJAX请求。

这里的a guide你可能会看看关于跨域AJAX调用。在你的情况下,你可以使用服务器端网桥。因此,您将在您的域中定义一个服务器端脚本,该脚本将获取远程域结果,然后可以将AJAX请求发送到您的脚本以避免违反相同的源策略限制。

相关问题