2012-04-29 8 views
-1

このサイトを閲覧した後、Forecastjsonを使用してYahoo WeatherをJSON形式で取得できることがわかりました。ForecastjsonがXMLエラーを返す

私は実行すると:

$.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データが表示されます。なぜこのエラーが出るのか誰にも分かりますか?

おかげ

答えて

2

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); 
});​ 

例であり、ここであなたはJSONの結果を確認することができURLです。

DEMO

関連する問題