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.
>