【问题标题】:Yahoo forecastjson gives XML error雅虎 Forecastjson 给出 XML 错误
【发布时间】:2012-04-29 21:02:33
【问题描述】:

浏览本站后,发现可以使用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 数据。有谁知道我为什么会收到这个错误?

谢谢

【问题讨论】:

    标签: javascript jquery xml json yahoo-api


    【解决方案1】:

    使用JSON不代表不会遇到跨域问题。这是一个对象标准。

    如果你想进行跨域请求,你应该使用JSONP

    您尝试请求的 url 不支持 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);
    });​
    

    这里是URL,你可以检查json结果。

    DEMO

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-15
      • 2015-03-30
      • 2015-05-12
      • 2014-11-30
      • 1970-01-01
      • 2013-02-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多