Функція Jquery Ajax - jQuery, ajax

Привіт, хлопці, я отримую дані з PHP за допомогою ajax, що я намагаюся зробити, це спочатку я знаходжу список онлайн користувачів, а потім на основі цього списку я роблю запит на сервер дозвольте сказати, якщо 2 людини увійшли в систему, то я використовую для циклу, щоб знайти номери, а потім Отримання даних лише для цих 2 користувачів тут "мій код JS. # ім'я дорівнює імені зареєстрованих користувачів, якщо один користувач входить в #name для цього користувача буде 1 для іншого, він буде 2 і так далі

    $(function(){
function liveRefresh(){
var count = 1;

for(x=0; x<=count; x++)
{
var track = $("#name" + x).val();

alert(track);

parameters = "send_to=" + track;

$.ajax({
url: "scripts/live-refresh.php",
type: "POST",
data: parameters,
cache: false,
success: function(html){

alert(track);
}
});
}
}

liveRefresh();

});

якщо я попереджувати трек мінлива перед запитом ajax він показує мені всі імена, але після прийняття ajax, коли я alerting тієї ж змінної він говорить невизначеним.

Ви можете спробувати цей код, щоб побачити, що відбувається, і подивитися, чи є якийсь шлях

Дякую

Відповіді:

-1 для відповіді № 1

@ 3nigma змінити ім'я змінної звичай допомогти або необхідно, і зробити його глобальним "може" допомогу, але він буде перезаписаний, як тільки ви перейти наступний в циклі.

@Shanon: Я не впевнений, що це найкращий підхід до такого роду речі. Я хотів би оновити весь список, а потім зробити кілька викликів AJAX на сервер.

але якщо ви хочете запустити його так, то це має працювати:

$(function(){
var callAjax = function(id) {
var parameters = "send_to=" + id;

$.ajax({
url: "scripts/live-refresh.php",
type: "POST",
data: parameters,
cache: false,
success: function(html){
alert(id);
}
});
},
liveRefresh = function() {
var count = 1;
for(var x=0;x<=count;x++) {
var track = $("#name" + x).val();

callAjax(track);
}

};

liveRefresh();

});

1 для відповіді № 2
$(function(){
function liveRefresh(){
var count = 1;

for(var x = 0 ; x <= count; x++)
{
var track = $("#name" + x).val();
do_ajax( parameters, track );
}
}

function do_ajax( parameters, track )
{
$.ajax({
url: "scripts/live-refresh.php",
type: "POST",
data: parameters,
cache: false,
success: function(html){
alert(track);
}
});
}

liveRefresh();

Щоб зберегти значення, потрібно сформувати закриття.