Existe-t-il un moyen d'obtenir les prévisions météorologiques de woeid en javascript?
J'ai essayé d'utiliser le flux RSS de Yahoo, mais je ne pouvais pas le faire fonctionner. Voici mon code
var url = "http://weather.yahooapis.com/forecastrss?w=" + encodeURIComponent("WOEID here");
$.ajax({
url: url,
dataType: "jsonp",
jsonpCallback: function(data) { console.log(data); },
success: function(data) { alert("success"); }
});
Aucune suggestion?
Réponses:
2 pour la réponse № 1Voici le moyen le plus simple d’obtenir les informations souhaitées à l’aide de jQuery et YQL:
var woeid = "26355493";
var $url = "http://query.yahooapis.com/v1/public/yql?callback=?";
$.getJSON($url, {
q: "select * from xml where url=" +
""http://weather.yahooapis.com/forecastrss?w=" + woeid + """,
format: "json"
}, function (data) {
console.log(data.query.results.rss.channel);
}
);
La requête dans la console YQL ...
Le code JavaScript dans jsfiddle ...
1 pour la réponse № 2
Apparemment, l’API météo renvoie ses résultats en RSS
format, alors que votre fonction les attend dans jsonp
format. Pensez à utiliser Yahoo! Les pipes aller chercher le temps RSS
nourrir pour vous, le traiter et le retourner dans jsonp
format.
Voici un tuyau qui fait quelque chose de similaire:
http://pipes.yahoo.com/pipes/pipe.info?_id=4d160cd8ed9d6d78164213928a51507d
0 pour la réponse № 3
Comme suggéré par dragon, j'ai créé un tuyau Yahoo - voici mon code complet; L'URL dans le code est le tuyau Yahoo que j'ai créé.
$(function(){
var url = "http://pipes.yahoo.com/pipes/pipe.run?_id=e33143abd20b19a0173b3a4b479fa4d3&_render=json&w=YOURWOEIDHERE";
function createRequest() {
try { return new XMLHttpRequest(); } catch(e) {}
try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) {}
return null;
}
var request = createRequest();
request.open("GET", url, true);
request.onreadystatechange = callback;
request.send(null);
function callback() {
if(request.readyState != 4) { return }
Obj = $.parseJSON(request.responseText);
console.log(Obj);
}
});
références:
Pipe Yahoo: http://pipes.yahoo.com/pipes/pipe.info?_id=e33143abd20b19a0173b3a4b479fa4d3
jQuery 1.5 - étiquette invalide d'erreur JSON