Привіт, хлопці, я отримую дані з 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();
Щоб зберегти значення, потрібно сформувати закриття.