浏览此网站后,我发现您可以使用forecastjson以JSON格式获取Yahoo天气。
当我跑步时:
$.getJSON("http://weather.yahooapis.com/forecastjson?w=2112762724", function(data){
...
});
我收到以下错误:
XMLHttpRequest cannot load http://weather.yahooapis.com/forecastjson?w=2112762724. Origin null is not allowed by Access-Control-Allow-Origin.
我之前遇到过这个错误,但通常是因为我正在尝试加载XML跨域但这显然是JSON。如果转到getJSON函数中的链接,它将显示JSON数据。有谁知道我为什么会收到这个错误?
由于
答案 0 :(得分:2)
使用JSON
并不意味着您不会遇到跨域问题。这是一个对象标准。
如果您想提出跨域请求,请使用JSONP。
您尝试请求的网址不支持JSONP请求。但你可以使用YQL代替那个。
这是一个例子,
var query = escape('select item from weather.forecast where woeid="2295424"');
var url = "http://query.yahooapis.com/v1/public/yql?q=" + query + "&format=json&callback=c";
$.getJSON(url, function(data) {
console.log(data);
});
这是你可以查看json结果的URL。