Как продолжить выполнение AJAX запроса до определенного response?
Здравствуйте!
По необходимости пишу запрос, который в response должен получать не только данные такие как, например, пользовательские текстовые сообщения или команды, но и (условно) сервисные сообщения и сигналы наподобие: "Подключение установлено", "К серверу подключился менеджер" и т.д.
Вопрос: Как бы написать запрос таким образом, чтобы он исполнялся и передавал весь response до получения определенной команды?
Что-то вроде if (response) != 'close' то продолжать исполнение\получение.. без повторного запуска php-обработчика..
Как это делается правильно?
По всей вероятности, вам нужна не двухсторонняя коммуникация, а только сервер->клиент.
1. Вариант первый. Наиболее предпочтительный - использовать Server Sent Events (SSE). Поддерживается везде кроме IE. Полноценная односторонняя коммуникация без завершения процесса на сервере.
2. Long Polling запросы. Обычные HTTP запросы висящие и ждущие пока сервер что-то не отдаст. И так по кругу.
3. Спамить сервер обычными запросами каждые несколько секунд))
Сервер есть. PHP Socket
Пишу AJAX функцию, стартующую при загрузке страницы, которая подключается и должна получать все присылаемое php обработчиком, пока socket открыт или не послана команда закрыть