我正在试着向雅虎的天气预报提出这样的请求
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.我知道我不能从localhost发出请求,但我没有运行localhost,我如何解决这个问题?
发布于 2012-01-16 06:09:03
我知道我不能从本地主机发出请求
实际上,由于相同的origin policy restriction,您不能发送跨域AJAX调用。因此,您不仅限于localhost。您只能使用除http://weather.yahooapis.com以外的任何内容。因此,除非包含javascript的页面驻留在此域中,否则不能向其发送AJAX请求。
下面是关于跨域AJAX调用的a guide。在您的情况下,您可以使用服务器端网桥。因此,您将在您的域上定义一个服务器端脚本,它将获取远程域结果,然后您可以将AJAX请求发送到您的脚本,以避免违反同源策略限制。
https://stackoverflow.com/questions/8873771
复制相似问题