2012-04-29 5 views
-1

После просмотра этого сайта я обнаружил, что вы можете получить погоду Yahoo в формате JSON с использованием прогноза.Yahoo 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.

Адрес, который вы пытаетесь запросить, не поддерживает запрос 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

Смежные вопросы