Widget météo

Résolu
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

  1. Modérateur
    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. 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"
      1. Modérateur
        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 
        
    2. 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
      1. Modérateur
        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 :-)

    Discussions similaires

    Station météo LIDL

    13 réponses