У меня есть цикл for, который содержит ajax-запрос. Запрос работает синхронно. Поэтому я не могу своевременно достичь результата запроса. Как я могу решить эту проблему без использования какой-либо библиотеки? Спасибо.Синхронный запрос с ajax в цикле
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>";
}
}
}
Так в чем проблема? Зачем обрабатывать ответы асинхронно? –