Доброе время суток.
Задача: выполнить очередь XML запросов, причем так, чтобы страница была доступна для "кликания" во время выполнения этих запросов.
Прочитал что такое XMLHttpRequest, понял чем отличается синхронный запрос от асинхронного.
Схема такая:
function asyncHandler()
{
if (this.readyState != 4)
return;
if (this.status == 200)
{
writeResult(this.responseXML);
}
}
function runXMLRequest(link)
{
requestLink = 'controller.php?' + link;
xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", requestLink, true);
xmlhttp.onreadystatechange = asyncHandler;
xmlhttp.send();
}
// ...
for (var i in linkArray)
{
runXMLRequest(linkArray[i]);
}
linkArray - это массив из 58 элементов. Т.е. 58 запросов нужно выполнить.
Но в данном случае скрипт пытается выполнить сразу одновременно 58 запросов. Это не то что нужно. Нужна очередь.
Если использовать синхронные запросы, то очередь получается, но страница не доступна для кликания.
Вопрос: как реализовать очередь асинхронных XML запросов?