Что такое опрос в AJAX?
В этой статье мы увидим опрос с помощью AJAX. Здесь мы пытаемся создать опыт, похожий на опрос, используя функции Javascript, такие как AJAX и Fetch API.
Опрос — это процесс постоянных и последовательных вызовов HTTP до тех пор, пока не будет получен требуемый ответ. Это очень простой метод создания обновлений в реальном времени в приложении. Опрос не сильно отличается от простых HTTP-запросов.
На приведенной ниже диаграмме клиент делает непрерывный запрос к серверу, пока не получит ответ. Сервер возвращает пустой ответ, пока не найдет ответ на запрос. Проблема с опросом заключается в том, что клиент должен постоянно запрашивать у сервера любые новые данные. В результате многие ответы остаются пустыми, что создает дополнительную нагрузку на HTTP. Цель опроса - быть на связи с контентом сервера. Его можно использовать в приложениях реального времени, но это может привести к высокому использованию сетевых ресурсов.
Асинхронный Javascript и XML (AJAX) : он используется для выполнения асинхронных HTTP-вызовов с использованием javascript. Он используется для связи с сервером без обновления веб-страницы и, таким образом, повышает удобство работы пользователей и повышает производительность.
Fetch API : API, который используется для выполнения HTTP-запроса в Javascript. Fetch API предоставляет метод fetch(), определенный для объекта окна. Это используется для выполнения запросов. Этот метод возвращает обещание, которое в дальнейшем можно использовать для получения ответа на запрос.
Типы опросов:
- Короткий опрос: в этом случае клиент никогда не ждет ответа сервера и, следовательно, получает пустой ответ, когда сервер не готов с ответом.
- Долгий опрос: в этом типе опроса клиент ждет, пока он не получит соответствующий ответ от сервера, и, следовательно, здесь цикл запрос/ответ длится долго.
Подход: следующий рабочий процесс опроса HTTP будет использоваться для выполнения требуемой задачи, которая описана ниже:
- Первоначально клиент делает HTTP-запрос к серверу.
- Сервер обрабатывает этот запрос.
- Сервер либо возвращает пустой, либо выполненный ответ.
- Клиент получает ответ.
- Клиент повторяет отправку запроса до тех пор, пока не получит необходимые ресурсы с сервера.
Примечание . В приведенных ниже примерах мы делаем вызов https://jsonplaceholder.typicode.com/todos/1.
Пример 1. В этом примере мы сделаем простой запрос AJAX, который является основным строительным блоком опроса в Javascript.
Шаги:
- Использование XMLHttpRequest для создания HTTP-запроса.
- Утешение ответа на вкладке консоли с событием onload .
Вывод: откройте вкладку консоли браузера, чтобы увидеть вывод:
Пример 2: В этом примере мы будем вызывать метод отправки постоянно через каждую секунду для опроса сервера.
Шаги:
- Использование XMLHttpRequest для создания экземпляра AJAX.
- Использование open() для создания HTTP-запроса.
- Использование send() для отправки запроса метода GET.
- Использование события onload для получения ответа.
- Использование setInterval для отправки запроса каждую секунду.
Итак, это опрашивает сервер, отправляя запрос каждую секунду.
Объяснение: мы получаем выходные данные с сервера каждую секунду, и, следовательно, текстовое сообщение « ответ получен » получает консоль, как показано в выходных данных ниже. Откройте вкладку консоли браузера, чтобы увидеть вывод.
Выход:
Пример 3: В этом примере мы будем выполнять опрос с использованием API выборки в Javascript, где мы делаем запрос каждую секунду.
Синтаксис для получения:
fetch(" url ") .then((res)=> { }) .catch((err)=> { }
Шаги:
- Использование Fetch () для отправки HTTP-запроса
- Использование then ( ) для получения ответа
- Использование setInterval() для отправки запроса каждую секунду
Вывод: откройте вкладку консоли браузера, чтобы увидеть вывод.