Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 31.10.2014, 11:29
Аватар для light
Аспирант
Отправить личное сообщение для light Посмотреть профиль Найти все сообщения от light
 
Регистрация: 11.04.2014
Сообщений: 60

Не выводится переменная
<script>
	$(".loads").on("click", function(){  
		$.ajax({  
			type: "POST",  
			url: "js/addImgbig.php",  
			success: function(newImg){   
				arrayId = newImg.id.split(",");  		  
				for (var i = 0; i < arrayId.length; i++) {	

					$.ajax({  
						type: "POST",   					
						data: "oneId="+arrayId[i],
						url: "js/comentshow.php",  
						success: function(comments){ 
							console.log("test1", test);  
							var	 test = comments.id;
						}  					
					});	  						
							console.log("test2", test); 
				}
			}  					
		});		
	});
</script>


Есть два ajax запроса. Второй вложенный в цикле первого.
Подскажите пожалуйста как мне вывести переменную из второго ajax в первый?
test1 - работает, test2 - нет.
Ответить с цитированием
  #2 (permalink)  
Старый 31.10.2014, 11:32
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Запрос выполняется асинхронно. Браузер не ждет ответа от сервера, он сразу продолжает выполнение кода.
Ответить с цитированием
  #3 (permalink)  
Старый 31.10.2014, 11:39
Аватар для light
Аспирант
Отправить личное сообщение для light Посмотреть профиль Найти все сообщения от light
 
Регистрация: 11.04.2014
Сообщений: 60

Erolast,
Т.е. я не смогу получить comments.id в запросе ниже?
Ответить с цитированием
  #4 (permalink)  
Старый 31.10.2014, 12:32
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

<script>
	$(".loads").on("click", function(){  
		$.ajax({  
			type: "POST",  
			url: "js/addImgbig.php",  
			success: function(newImg){   
				arrayId = newImg.id.split(",");  		  
				for (var i = 0; i < arrayId.length; i++) {	

					$.ajax({  
						type: "POST",   					
						data: "oneId="+arrayId[i],
						url: "js/comentshow.php",  
						success: function(comments){ 
							console.log("test1", test);  
							var	 test = comments.id;
                            console.log("test2", test); 
						}  					
					});	  						
							
				}
			}  					
		});		
	});
</script>
Ответить с цитированием
  #5 (permalink)  
Старый 31.10.2014, 12:52
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Можно еще выполнять запрос синхронно:
$.ajax({
  async: false
});

Но при этом заблокируются любые действия со страницей на время выполнения запроса. Использовать такой способ приемлимо только на этапе инициализации, и то не всегда.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не выводится значени style.width и других стилей torsar (X)HTML/CSS 3 04.08.2014 20:23
Имя массива, как строковая переменная, при обращении bugiman Элементы интерфейса 4 18.11.2013 15:44
Переменная php -> параметр функции JS allie Общие вопросы Javascript 3 30.09.2011 10:11
Переменная после отправки данных lukingnu AJAX и COMET 0 19.03.2011 20:24
Переменная как значение функции. Jurasmi Общие вопросы Javascript 7 22.04.2010 12:45