Показать сообщение отдельно
  #1 (permalink)  
Старый 21.06.2015, 13:56
Интересующийся
Отправить личное сообщение для bear9 Посмотреть профиль Найти все сообщения от bear9
 
Регистрация: 23.09.2011
Сообщений: 24

ajax и цикл - данные не успевают отображаться в браузере
Добрый день.
Не могу найти решение следующей проблемы.
Есть цикл, в цикле ajax запрос, после выполнения запроса необходимо счетчик увеличить на 1 и поместить значение счетчика в элемент страницы. Так вот, размещение происходит только после цикла, а все промежуточные значения не размещаются. Пример:
var test_count=document.getElementById('counter');
for (var i=0; i<3; i++) {
	$.ajax({
		type: "POST",
		url : "test.php",
		async: false, 
		success: function (result_query) {	
			test_count.innerHTML = (i);}
		});
}

в результате выполнения в test_count будет 2, а все промежуточные значения отображаться не будут. Пробовал делать паузу - не помогает. Однако добавление alert - показывает, что значения помещаются и все ок. Т.е. вот такой код, работает корректно:
var test_count=document.getElementById('counter');
for (var i=0; i<3; i++) {
	$.ajax({
		type: "POST",
		url : "test.php",
		async: false, 
		success: function (result_query) {	
			test_count.innerHTML = (i);
			alert('ok'); }
		});
}

Но alert не устраивает. Подскажите решение. Спасибо.
Ответить с цитированием