Discussions

Incompréhension entre les étapes et la correction en lien (codepen.io)

Image

Lorsque je suis étape par étape l'exercice, j'obtiens ceci : 

let ville = "villeurbanne";
// Appeler la fonction recevoirTemperature(ville)
recevoirTemperature(ville);

let changer = document.querySelector('#changer');

changer.addEventListener('click', () => {
    villeChoisie = prompt('Merci de choisir votre ville ?');
    recevoirTemperature(villeChoisie);
})

function recevoirTemperature(ville) {
    const url = 'http://api.openweathermap.org/data/2.5/weather?q='+ ville + '&APPID=27f014ce566ecb66ccbbec4015e2444a&units=metric'
    let requete = new XMLHttpRequest();
    requete.open('GET', url);
    requete.responseType = 'json';
    requete.send();

    requete.onload = function() {
        if(requete.readyState === XMLHttpRequest.DONE) {
            if(requete.status === 200) {
                let reponse = requete.response;
                console.log(reponse);
                let temperature = reponse.main.temp;
                let endroit = reponse.name;
                document.querySelector('#temperature_label').textContent = temperature;
                document.querySelector('#ville').textContent = endroit;
            }
            else {
                alert('Un problème est survenu, merci de revenir plus tard.');
            }
        }
    }
}

 

En faisant de cette façon, cela fonctionne. 

 

Mon incompréhension c'est entre la function recevoirTemperateur et l'addEventListener

Je ne comprends comment ville = villeChoisie.

 

Merci.

 

 

3 réponses
Image
Louis-Nicolas Leuillet
Le 18/10/2022 à 06:55

Hello David.

 

Lorsque tu changes la ville tu appelles la function recevoirTemperature en passant la valeur de la variable villeChoisie. Donc cette valeur sera mise dans la variable ville de la fonction recevoirTemperature.

 

recevoirTemperature(villeChoisie);
Image
David EGEA
Le 18/10/2022 à 13:52

Là, je bug

Au départ, j'ai une variable ville = "Toulouse"

Dans mon événement, j'ai une variable villeChoisie qui va prendre la nouvelle valeur par exemple Dijon, soit villeChoisie = "Dijon"

Dans ma function recevoirTemperature j'ai en paramètre (ville) et mon url dans la function à aussi ville.

A quel moment intervient la variable villeChoisie

J'avoue, en ce moment, je sature pas mal, car je dois trouver un contrat de professionnalisation pour ma reconversion et c'est loin d'être simple ;)

Merci pour le retour :)

Image
Louis-Nicolas Leuillet
Le 19/10/2022 à 08:49

Ne t'en fais pas, on a tous des moments dans lesquels on a du mal !

Ta variable villeChoisie intervient dans addEventListener

changer.addEventListener('click', () => {

    villeChoisie = prompt('Merci de choisir votre ville ?');

    recevoirTemperature(villeChoisie);

})

Plutôt que de donner ville, tu donnes la valeur avec villeChoisie

Image
Inscrivez-vous ou connectez-vous pour participer à la discussion.

Informations

Créée le 17 octobre 2022 12:30
Dernière activité le 17 octobre 2022 12:30