J'ai une boucle for qui contient une requête ajax. La demande fonctionne de manière asynchrone. Donc, je ne peux pas atteindre le résultat de la demande à temps. Comment puis-je résoudre ce problème sans utiliser de bibliothèque? Merci.Requête synchrone avec ajax dans une boucle
var availables = document.getElementsByClassName("available");
for(var i=0;i<availables.length;i++){
var element = availables[i];
var xmlhttp;
if(window.XMLHttpRequest)
xmlhttp = new XMLHttpRequest;
else
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open("GET", "control.php?user=" + element.innerText, true);
xmlhttp.send();
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
var result = xmlhttp.responseText;
console.log(result);
element.setAttribute("class" , "result available " + result);
if(result == "online")
element.innerHTML = "<a href=\"http://twitter.com/" + element.innerText + "\">" + element.innerText + "</a>";
}
}
}
Alors, quel est le problème? Pourquoi traiteriez-vous les réponses de manière asynchrone? –