Widget météo

Résolu
anthonyr_25 Messages postés 166 Date d'inscription mercredi 5 janvier 2022 Statut Membre Dernière intervention 6 juillet 2022 - Modifié le 8 janv. 2022 à 22:12
jordane45 Messages postés 36608 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 7 décembre 2022 - 9 janv. 2022 à 12:00
Bonjour,

J'aimerais faire un widget météo mais je n'arrive pas à récupéré les nuages dans l'api..
j'ai l'impression que c'est les bons éléments mais sa me marque "undefined"
pourriez vous m'aidez ?

var callBackGetSuccess = function(data) {
    console.log("donnees api", data)
    //alert("Meteo temp  : "  + data.main.temp);
    var element = document.getElementById("zone_meteo");
    element.innerHTML = "La temperature est de " + data.main.temp + " C° " + data.weather.main + " a";
}

function buttonClickGET(){
    var queryLoc = document.getElementById("queryLoc").value;

    var url = "https://api.openweathermap.org/data/2.5/weather?q="+queryLoc+"&appid=c21a75b667d6f7abb81f118dcf8d4611&units=metric"

    $.get(url, callBackGetSuccess).done(function(){
        //alert( "second success" );
      })
      .fail(function(){
        alert( "error" );
      })
      .always(function(){
        //alert( "finished" );
      });
}


J'ai éssayer avec data.weather.description aussi mais sa me renvoie la même chose "undefined"...



merci d'avance !

Configuration: Windows / Chrome 96.0.4664.110

3 réponses

jordane45 Messages postés 36608 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 7 décembre 2022 4 420
8 janv. 2022 à 22:15
var url = "https://api.openweathermap.org/data/2.5/weather?q="+queryLoc+"&appid=c21a75b667d6f7abb81f118dcf8d4611&units=metric"
$.get(url, function(data) {
  console.log("donnees api", data)
  //alert("Meteo temp  : "  + data.main.temp);
  var element = document.getElementById("zone_meteo");
  element.innerHTML = "La temperature est de " + data.main.temp + " C° " + data.weather.main + " a";
});


1
anthonyr_25 Messages postés 166 Date d'inscription mercredi 5 janvier 2022 Statut Membre Dernière intervention 6 juillet 2022 6
Modifié le 8 janv. 2022 à 22:31
Déjà je te remercie encore #lemeilleurmodo
en revanche...
Sa ne fonctionne pas ... à mon avis il manque une :

<< var url2 = "site" + queryLoc + " ? (et c'est sa que je recherche je pense, il faudrait l'api du weather main) " >>

Je dit bien je pensse ...
Cars la température je l'ai déjà mais je n'arrive pas à récupérer le weather > main = "clouds"
0
jordane45 Messages postés 36608 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 7 décembre 2022 4 420
8 janv. 2022 à 22:42
que donne le console.log ?

Normalement.. il te donne un truc du genre


et donc, tu peux voir que les données ne se trouvent pas directement dans "main" .. tu as un niveau intermédiaire...

essayes avec un truc du genre
data.weather[0].main 
0
anthonyr_25 Messages postés 166 Date d'inscription mercredi 5 janvier 2022 Statut Membre Dernière intervention 6 juillet 2022 6
8 janv. 2022 à 22:56
Hoooo sa marche !! je te remercie beaucoup Jordane tu m'aide énormément
J'ai pas du tout l'habitude avec les API moi j'était partie sur quelque chose comme sa :
data.weather.[1] (vue que c'est la deuxième information..) ou
data.weather[main] ...
c'est pas vraiment intuitif haha
Mais en tout cas vraiment merci mille fois de m'accompagner pendant ma formation grâce à tes solutions à tout les problèmes.. pour moi t'est genre le Einstein de l'informatique
0
jordane45 Messages postés 36608 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 7 décembre 2022 4 420
Modifié le 9 janv. 2022 à 12:01
C'est juste la manipulation d'objet JSON et d'array ... que ça provienne d'une API ou non n'y change rien.


. pour moi t'est genre le Einstein de l'informatique

J'ai sûrement l'air aussi fou .. mais je suis loin de son intelligence :-)
0