Re: interface web et asynchrone

Page principale

Répondre à ce message
Auteur: Dominique Fournier
Date:  
À: guilde
Sujet: Re: interface web et asynchrone
Bonjour

Regardez aussi du côté de "fetch" en JS : cela (peut) simplifier les
requêtes XHR :
https://developer.mozilla.org/fr/docs/Web/API/Fetch_API/Using_Fetch

Bonne journée

Dom

Le 21/09/2022 à 08:15, Frédéric a écrit :
> Le mercredi 21 septembre 2022, frederic a écrit :
>
>> seulement comment faire pour que toutes ces actions,surtout la requête
>> POST, ça soit asynchrone?
>> Que ça ne fige pas le diagramme des courbes
>> que ça ne bloque pas l'utilisateur en attendant la réponse de la requête.
>> Que le retour (OK ou pas OK) s'affiche dans un bandeau en haut de
>> l'interface par exemple
>
> Avec XMLHttpRequest ? Voici ce que j'avais fait pour piloter le dôme de mon
> robot BB8 :
>
>      function setSounds(sounds)
>      {
>          var xhttp = new XMLHttpRequest();
>          xhttp.onreadystatechange = soundsChanged;
>          xhttp.open("POST", "/sounds", true);
>          xhttp.timeout = 500;
>          xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
>          xhttp.send("sounds=" + sounds);
>      }

>
>      function soundsChanged()
>      {
>          if (this.readyState == XMLHttpRequest.DONE && this.status == 200) {
>              if (prevSounds != null) {
>                  document.getElementById("sounds_"+prevSounds).style.color = "white";
>              }
>              document.getElementById("sounds_"+this.responseText).style.color = "yellow";
>              prevSounds = this.responseText;
>          }
>      }

>
> setSounds() n'est pas bloquante, et soundsChanged() est un callback.
>