Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Немного синтаксиса. (https://javascript.ru/forum/misc/50149-nemnogo-sintaksisa.html)

Urukhay 14.09.2014 13:39

Немного синтаксиса.
 
Мне надо чтобы в success выводило все числа, которые проходит id, но там только 11. Как решить эту проблему?

for(var id = 1; id != 10; id++)
{
	$.ajax({
		type: "POST",
		data: {Id: id},
		url: "getname.php",
		dataType: "json",
		success: function(data){	
			alert(id); // всегда 11
		}
	})
	alert(id); // как надо (1,2,3,4...10)
}

Aetae 14.09.2014 13:46

http://learn.javascript.ru/closures

Safort 14.09.2014 23:35

У меня вот тоже подобный вопрос.
В последнем примере по ссылке Aetae говорится следующее:
Цитата:

К моменту вызова army[0](), функция makeArmy уже закончила работу. Цикл завершился, последнее значение было i=10.
Это понятно, но в нашем случае запросы отправляются как раз во время работы функции, а эффект такой же.
Просвещённые, будьте добры, поясните пожалуйста.

Aetae 14.09.2014 23:44

Safort, запросы то отправляются, но вот ответы они получают гораздо позже.)

А success вызывается когда уже получен ответ и загружен.

Safort 14.09.2014 23:52

Aetae,
ааах вот оно что! Спасибище!


Часовой пояс GMT +3, время: 10:13.