Привет!
Назрел вопрос: как организовать очередь асинхронных запросов?
Имеем список (ок. 150) элементов, чекбоксами отмесаются необходимые и загружаются.
Код:
$(document).ready(function(){ // по окончанию загрузки страницы
$('#load_selected').live('click',function(){ // Загрузка списка прайсов по клику.
var is_disable = false;
var my_o = $('#prices_for_load');
for (var i=0; i < $('#prices_for_load')[0].elements.length; i++) {
if($('#prices_for_load')[0].elements[i].type == "checkbox" && $('#prices_for_load')[0].elements[i].checked){
$('#price_'+$('#prices_for_load')[0].elements[i].value ).html("<img src='/images/ajax.gif'>");
//alert(i);
//setTimeout("",3000);
$.ajax({
async:false,
url: '/test/autoload_handler.php?do=load_price_by_id&mode=ajax&id='+$('#prices_for_load')[0].elements[i].value,
dataType : "text",
success: function(data, textStatus) {
$('#price_' + $('#prices_for_load')[0].elements[i].value ).html(data);
$('#checkbox_' + i).css({display:"none"});
$('#prices_for_load')[0].elements[i].checked=false;
//alert(data);
}
});
}
//alert('test');
}
//alert('test');
if(confirm("Загрузка прайс-листов закончена. Необходимо перезагрулить страницу \n Для просмотра результатов нажмите 'Отмета', затем презегрузите страницу вручную.")){
window.location="/admin/index.php?mode=autoload";
}
//return is_disable;
});
});
В данном примере используется синхронный запрос, но он подвешивает-таки браузер..
Задача такая: Сделать запрос, и чтобы браузер оставался активным, но при этом чтобы до завершения предыдущего запроса новый не стартовал.
