| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > рекурсивный ajax |
| Автор: Sniper 28.3.2010, 22:15 | ||||
Хочется чтобы было так:
т.е. 1. вызываем login.php 2. если скрипт выдал результат "not_complete" вызываем второй скрипт login_repost.php 3. если скрипт login_repost.php тоже вернул"not_complete" , то мы его так и проболжаем выполнять пока он не вернёт нормальный ответ (попадёт в else и сработает alert ("логин отбработан");) только AJAX не успевает обрабатывать такое количество "посылок" и выдаёт окошко с заголовками и прочей служебной информацией. Пробовал сделать задержку setTimeout и setInterval, но функция
выполняется один раз почему-то и всё. p.s фреймфорки не предлагать - не нужны мне. |
| Автор: bars80080 28.3.2010, 22:29 |
как? и почему такая система? что там такого делает login_repost.php ? |
| Автор: gcc 28.3.2010, 23:46 |
| можно использовать push server http://javascript.ru/ajax/comet/overview и http://habrahabr.ru/blogs/webdev/41223/ у себя в блоге написал http://www.x0.org.ua/blog/user/1/view/7 |
| Автор: Sniper 29.3.2010, 07:17 | ||||||
Добавлено @ 07:19
кадый скрипт посылает свою команду другому компьютеру через один единственный сокет. |
| Автор: IDVsbruck 29.3.2010, 13:45 |
| Очень советую вынести переменную req в глобальную область и не передавать в функциях, а использовать глобально, а то замыкание на замыкании - ни к чему хорошему не приведет. Кроме этого, один раз определив ее, не надо тратить ресурсы на ее определение каждый раз. Идея, предложенная qcc, неплоха, но ее реализация слишком сложна для простой задачи, да и средствами javascript+html - костыль на костыле, несмотря на ссылки и все, что там описано. Тут, возможно, можно задуматься еще над одной реализацией псевдо-server-push - Continuations: отсылаем запрос на сервер, сервер создает отдельный thread и "держит" там респонс до появления события и отдает клиенту при его наступлении или по таймауту (скажем, 10-20 сек.) Ресурсов это ест немного, правда, нужна только многопоточная среда на сервере (не знаю, справляется ли с этим ПэХаПэ до 5-ой версии) и не требует сложной реализации на клиенте. |
| Автор: Sniper 29.3.2010, 13:58 |
| хотелсь бы всётаки не переписывать в который раз реализацию этого всего, а доработать текущую! |
| Автор: bars80080 29.3.2010, 14:08 | ||||
можно попробовать ещё так:
|