Прежде чем прочитать эту статью о длинном опросе Ajax , вы можете сначала ознакомиться с технологией опроса Ajax (не длинного), которая полезна для понимания:
Длинный опрос Ajax – это обновленная версия опроса Ajax. Некоторые изменения были внесены как на клиенте, так и на сервере, что снижает потребление и повышает скорость.
“Постоянно запрашивайте сервер через Ajax”.
Давай, второкурсник, первый код ~:
Reception.html//клиент
Server.php://сервер
query('select * from t1'); $result = $resource->fetchall(); while (true) { if ($result) { //exits data Print_r (json_encode (array ('success' = > 'data exists, return'))); Exit(); // output data, exit. Then the client continues to make requests continuously } //Data does not exist, continue to loop. } ?>
Вы видите в этом тайну? Суть длительного опроса заключается в функции обратного вызова Ajax, которая продолжает снова вызывать запрос Ajax (здесь действует принцип нон-стоп, который вызывается снова сразу после успешного возврата):
$.ajax(получение);
Вот иллюстрация длительного опроса Ajax:
Прежде всего, пожалуйста, игнорируйте ограничения на использование зеленого шрифта, а затем, у кого из друзей есть инструмент для рисования, который можно мне порекомендовать. Теперь я использую диаграмму памяти.
На рисунке показано два запроса (AJAX по умолчанию в этой статье), первый быстро возвращает результат, а затем сразу же без перерыва отправляет второй запрос, но второй запрос не получает данные, поэтому запрос не возвращается (он зависает на сервере, но он вернется снова, пока есть данные). Если второй запрос вернет данные, то третий запрос немедленно будет отправлен немедленно, что называется Ajax long polling.
Вот как это представлено псевдокодом:
Ключевым моментом является то, что после предыдущего запроса второй запрос инициируется немедленно и непрерывно. Это называется длинным опросом Ajax