Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   видимость переменных (https://javascript.ru/forum/jquery/42564-vidimost-peremennykh.html)

Fedya 31.10.2013 22:01

видимость переменных
 
Здравствуйте.
Скажите, пожалуйста, почему во втором $.post i всегда равен 20? как сделать чтобы i был таким же как в цикле (0,1,2,3..19)

function GetPost(){
            var user_id = new Array(20);
	    $.post('http://...,{},
	    	function(data_post){
		    	for(var i=0; i<=19; i++ ){	
		    		user_id[i] = data_post.response.items[i].user_id; //тут все нормально присваивает
		    		
		    		
		    		$.post('http:...,{},
		    	    	function(data_user){
		    				alert(i);  // а вот тут почему-то i всегда равно 20
		    			});
		    	}
		}
		);
    }

jsru_ 31.10.2013 22:06

цикл срабатывает так же резко как нога чака. а то что возвращается в success - это данные на электричке

ksa 31.10.2013 23:13

Цитата:

Сообщение от Fedya
alert(i);  // а вот тут почему-то i всегда равно 20

А так?

function GetPost(){
	var user_id = new Array(20);
	$.post('http://...,{},
		function(data_post){
			for(var i=0; i<=19; i++ ){	
				user_id[i] = data_post.response.items[i].user_id;
				(function (N) {
					$.post('http:...,{},
						function(data_user){
							alert(N);
						}
					);
				})(i);
			};
		}
	);
};

Fedya 31.10.2013 23:38

А так все работает, спасибо


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