|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.08.2012, 22:29 | #1 |
Регистрация: 19.09.2011
Сообщений: 7
|
Ajax+PHP. Цикличные запросы.
Будьте добры, помогите советом, как лучше реализовать эту связку ajax и php.
Необходимо выводить небольшие блоки на сайт, 20-30 на страницу. НО. Каждый последующий блок выводится на основе обработанной скриптом информации о предыдущем. Если всё это удовольствие зациклить, то, насколько понимаю, сами запросы начинают выполняются с неконтролируемой скоростью, не синхронно и не пошагово. То есть нужно: ajax-запрос -> вывод на экран -> получение параметров этого нового DOM-объекта -> и только после этого новый ajax-запрос на основании полученных данных. Как оказалось, проблема с таким циклом. Что очень странно. Вроде ничего в нем замудреного нет. Последний раз редактировалось NidHelp; 13.08.2012 в 06:58. |
13.08.2012, 02:26 | #2 |
Регистрация: 19.09.2011
Сообщений: 7
|
Проблему решил, но частично.
Код:
Последний раз редактировалось NidHelp; 13.08.2012 в 06:50. |
13.08.2012, 09:23 | #3 |
Раздолбайских Дел
Старожил
Регистрация: 22.05.2009
Сообщений: 3,828
|
засунь вычисления в кол-бэк
Alar, верни репу!
|
13.08.2012, 10:26 | #4 |
Регистрация: 19.09.2011
Сообщений: 7
|
Собственно сперва тоже так и решил, что будет достаточно. В стандартный success: аякса все вычисления. Но в цикле это, увы, не работает. Даже на экран не выводит объекты, сразу переходит к следующему запросу, цикл "вешается".
Прикрутив .done к функции, более-менее всё стало, но тоже раз на раз не приходится. Следовательно, всё равно каждый шаг цикла стартует не при условии получения параметров DOM-объекта. Последний раз редактировалось NidHelp; 13.08.2012 в 10:39. |
13.08.2012, 11:34 | #5 |
Раздолбайских Дел
Старожил
Регистрация: 22.05.2009
Сообщений: 3,828
|
Код:
Оптимальней было бы так: Код:
Запуск аякса отрабатывает в сотни раз быстрее, чем ожидание ответа сервера, так что лучше послать 20 запросов и потом собирать в нужные места 20 ответов, чем слать их по очереди.
Alar, верни репу!
|
13.08.2012, 20:23 | #6 |
Регистрация: 19.09.2011
Сообщений: 7
|
Спасибо.
Да, в итоге пришлось отказаться вообще от затеи с цикличными аяксами, нецелесообразно. Тем более если потребуется не 20 проходов цикла, а 50, 100, 200. Запрос сделал 1. И вывод контента сперва происходит в блок position:absolute; left-margin:-3000. И потом уже оттуда дивы с необходимыми изменениями помещаются скриптом в видимую область экрана. |
14.08.2012, 09:39 | #7 | |
Раздолбайских Дел
Старожил
Регистрация: 22.05.2009
Сообщений: 3,828
|
Цитата:
Alar, верни репу!
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
ajax jquery php | gunsoy | JavaScript, Ajax | 17 | 13.01.2014 14:33 |
AJAX + PHP | errload | JavaScript, Ajax | 11 | 19.05.2012 02:40 |
Задачи по темам: текстовие файли, цикличные структуры | Federer | Помощь студентам | 1 | 17.05.2012 19:18 |
AJAX + PHP | mar4elo | JavaScript, Ajax | 8 | 12.10.2011 14:24 |