Что такое опрос в AJAX?

Опубликовано: 22 Февраля, 2023

В этой статье мы увидим опрос с помощью 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() для отправки запроса каждую секунду

Вывод: откройте вкладку консоли браузера, чтобы увидеть вывод.