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.
--
Frédéric