Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: AJAX очередь загрузки

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
246978
Отправлено: 10 Октября, 2013 - 14:45:25
Post Id



Посетитель


Покинул форум
Сообщений всего: 273
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)

[+]


У меня есть JS функция которая в себе выполняет AJAX? так вот эту функцию запускаю несколько раз подряд, как сделать что бы AJAX отработал по очереди и как только закончился первый выполнялся второй и т.д.
 
 Top
caballero
Отправлено: 10 Октября, 2013 - 14:47:50
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




КО считает что нужно вызывать следующую когда придет ответ от предыдущей


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
246978
Отправлено: 10 Октября, 2013 - 14:54:56
Post Id



Посетитель


Покинул форум
Сообщений всего: 273
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)

[+]


Да, но эту функцию вызываю из другой, где в свою очередь есть цикл который запускает функцию с аяксом, вот и получается что цикл выполняется моментально и сразу много раз запускает аякс, от чего и проб лемма, как в каждой итерации цикла запускать эту функции дождаться когда она отработает и выполнить следующую итерацию
(Добавление)
сейчас сделал, через рекурсию с задержкой времени, задержку ставлю вручную на 1500мс но аякс часто отрабатывает значительно быстрей, нужно так что функция запустилась тогда когда закончилось выполнения первой.
 
 Top
nerv
Отправлено: 10 Октября, 2013 - 15:06:36
Post Id



Посетитель


Покинул форум
Сообщений всего: 407
Дата рег-ции: Февр. 2013  
Откуда: Россия


Помог: 9 раз(а)




246978 пишет:
сделал, через рекурсию с задержкой времени, задержку ставлю вручную на 1500мс

отлично Браво А я сделал без рекурсии и без задержки Закатив глазки


-----
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
 
 Top
IllusionMH
Отправлено: 10 Октября, 2013 - 15:06:41
Post Id



Активный участник


Покинул форум
Сообщений всего: 4254
Дата рег-ции: Февр. 2011  
Откуда: .kh.ua


Помог: 242 раз(а)




246978, давайте определимся зачем нужна последовательность, а то это реально фигня получается.
Можно еще заюзать deffered и дождать выполения всех.
Можно в цикле еще формировать массив функций, которые делают запрос. и передавать его в колбэки всем функциям, за исключением текущей выполняющейся.

Вот так изощрение я придумал Ниндзя
 
 Top
246978
Отправлено: 10 Октября, 2013 - 15:21:58
Post Id



Посетитель


Покинул форум
Сообщений всего: 273
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)

[+]


у меня в урле пришел параметр, а именно количество страниц , которые должен отобразить, каждую страницу загружаю на одной странице в виде списка, так вот если мне пришло 6 т.е. 6 страниц должен подгрузить, но нужно загрузить их последовательно. а не все одновременно, так как результат аякса дополняет таблицу, и если какая-то функция отработает быстрей чем ранее запущенная то заполнит таблицу данными которые не в очереди. но я нашел выход, а именно
CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. function more_obj(iteration)
  3. {
  4.    if(next_list >= max_list)return;
  5.    
  6.    $('.big_load').show();
  7.    
  8.     ajax_coplited = 'no';
  9.     next_list = next_list + 1;
  10.    
  11.     $.ajax({
  12.     url: "/ajax/ajax_catalog.php",
  13.     type: "POST",
  14.     cache: false,
  15.     data: {
  16.         "country_id": $('#country_id').val(),
  17.     },
  18.     success: function(html){
  19.             if(html.length < 10)
  20.                 return;
  21.             $("#pages").append(' <a href="#list'+next_list+'" id="list'+next_list+'">'+next_list+'</a>');
  22.             $(".estate__content__wrapper").append(html);
  23.             ajax_coplited = 'yes';
  24.             if(iteration != 0)
  25.             {
  26.                 more_obj(iteration - 1);
  27.             }
  28.             else
  29.             {
  30.                 get_list()
  31.                 return;
  32.             }
  33.         }
  34.     });
  35. }
  36.  
 
 Top
caballero
Отправлено: 10 Октября, 2013 - 15:34:11
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




а зачем одновременно грузить 6 страниц? показывается то одна в каждый момент врмни


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
246978
Отправлено: 10 Октября, 2013 - 15:40:10
Post Id



Посетитель


Покинул форум
Сообщений всего: 273
Дата рег-ции: Февр. 2012  


Помог: 0 раз(а)

[+]


это не пеженация, а динамический погрузка, и если я подгрузил 6 страниц и хочу передать ссылку, с указанием на страницу 5, то у пользователя который получил эту ссылку должно подгрузиться 6 страниц, после чего скрол опустим на нужную страницу ,а именно на 5

(Отредактировано автором: 10 Октября, 2013 - 15:41:10)

 
 Top
caballero
Отправлено: 10 Октября, 2013 - 15:42:31
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




ну так собери это все на сервере и передай целиком.

удивляюсь некоторым - использовать аякс только для того чтобы найти себе проблемы на заднее место.


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
nerv
Отправлено: 10 Октября, 2013 - 19:41:47
Post Id



Посетитель


Покинул форум
Сообщений всего: 407
Дата рег-ции: Февр. 2013  
Откуда: Россия


Помог: 9 раз(а)




caballero пишет:
ну так собери это все на сервере и передай целиком.

удивляюсь некоторым - использовать аякс только для того чтобы найти себе проблемы на заднее место

надо обязательно делать запросы на сервер. Чем больше - тем лучше )

246978 пишет:
это не пеженация, а динамический погрузка, и если я подгрузил 6 страниц и хочу передать ссылку, с указанием на страницу 5, то у пользователя который получил эту ссылку должно подгрузиться 6 страниц, после чего скрол опустим на нужную страницу ,а именно на 5

а если 100, то 100 Улыбка


-----
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB