Javascript.RU

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

xmlhttprequest синхронный запрос в цикле
Цель последовательно создать процедуры на sql сервере.
Делаю это следующим кодом:
function step4(){
	var lerror = 0;
	var classif = document.getElementById('classif').options[document.getElementById('classif').selectedIndex].value;
	var name_remote_DB = document.getElementById("name_remote_DB").value;
	var dblocalname = document.getElementById("dblocalname").value;	
	var elem = document.getElementById("listprocedure");
	var globalshifts = document.getElementById("loadperiod").getAttribute('dataload');
	var N = elem.getAttribute('Ntable');
		for (var i=1; i<=N; i++){
			
			var url = "CREATEPROCEDURE.php?procedure="+elem.rows[i].cells[1].innerHTML + "&dblocalname="+ dblocalname  + "&name_remote_DB="+name_remote_DB + '&classif='+ classif + '&globalshifts=' + globalshifts;
			console.log(url);
			var CREATEPROCEDURE =  new XMLHttpRequest();
			CREATEPROCEDURE.open('GET', url, false);
				CREATEPROCEDURE.onreadystatechange = function() {
					if (CREATEPROCEDURE.readyState == 4) {
						if(CREATEPROCEDURE.status == 200) {
							console.log(CREATEPROCEDURE.responseText);
							if(CREATEPROCEDURE.responseText != 1){
								document.getElementById("lasterror").innerHTML = document.getElementById("lasterror").innerHTML +'<br>'+CREATEPROCEDURE.responseText;
								lerror = 1;
							}
							else{
								/* в случае успеха скрываем крестик, показываем галочку */
								elem.rows[i].cells[2].childNodes[1].removeAttribute("style");
								elem.rows[i].cells[2].childNodes[3].style.display='none';
							}
						}
					}
				}
			CREATEPROCEDURE.send(null);
/* если произошла ошибка при создании выходим */	
			if(lerror == 1){ 
				return;
			}
		}			
}


Но визуальное изменение страницы происходит только когда будет завершён весь цикл. Как сделать что бы изменение страницы визуально происходило на каждом шаге?
Ответить с цитированием
  #2 (permalink)  
Старый 20.07.2017, 13:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от djkey
Как сделать что бы изменение страницы визуально происходило на каждом шаге?
выкинуть for
Ответить с цитированием
  #3 (permalink)  
Старый 20.07.2017, 13:33
Интересующийся
Отправить личное сообщение для djkey Посмотреть профиль Найти все сообщения от djkey
 
Регистрация: 21.06.2013
Сообщений: 12

поясните,пожалуйста. Создать вместо этого while? Или что? Как это поможет?
Ответить с цитированием
  #4 (permalink)  
Старый 20.07.2017, 13:36
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

djkey,
https://javascript.ru/forum/ajax/697...tml#post458568
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не отправляется 2й запрос после 1го. (XMLHttpRequest) Артист AJAX и COMET 6 05.10.2016 00:37
Прервать синхронный запрос. livelover Общие вопросы Javascript 12 19.09.2014 23:06
запрос на другой сайт XMLHttpRequest vscorpion Internet Explorer 9 24.12.2013 16:46
XMLHttpRequest status=0, хотя запрос проходит. arigasa AJAX и COMET 4 15.02.2011 20:14
Синхронный запрос данных по AJAX Shasoft AJAX и COMET 2 03.03.2009 14:07