PHP - Введение в AJAX
Ajax означает асинхронный JavaScript и XML. Это технология, которая сокращает взаимодействие между сервером и клиентом. Это достигается путем обновления только части веб-страницы, а не всей страницы. Асинхронное взаимодействие инициируется JavaScript. Цель AJAX — это обмен небольшими объемами данных с сервером без обновления страницы.
Что такое AJAX?
Ajax — это аббревиатура от Asynchronous Javascript и XML. Он используется для связи с сервером без обновления веб-страницы, тем самым повышая удобство работы пользователя и повышая производительность.
AJAX позволяет обновлять веб-страницы асинхронно, негласно обмениваясь небольшими объемами данных с сервером. Это означает, что можно обновлять части веб-страницы без перезагрузки всей страницы.
Как работает AJAX
Во-первых, давайте разберемся, что на самом деле означает асинхронность. Есть два типа запросов: синхронные и асинхронные. Синхронные запросы — это запросы, которые выполняются последовательно, т.е. если один процесс продолжается и в то же время должен быть выполнен другой процесс, он будет блокирован, а это означает, что будет выполняться только один процесс за раз.
Это оторицательно сказывается на работе приложения, потому что большую часть времени ЦП остается в режиме ожидания, например, во время операций ввода-вывода данных. Таким образом, чтобы полностью использовать ЦП и другие ресурсы, используйте асинхронные запросы.
Запросы выполняются с использованием функций javascript, вот почему в названии Ajax присутствует ja. Теперь термин XML, который используется для создания объекта XMLHttpRequest.
Таким образом, краткое изложение приведенного выше объяснения состоит в том, что Ajax позволяет обновлять веб-страницы асинхронно, обмениваясь небольшими объемами данных с сервером за кулисами.
Теперь обсудим важную часть и ее реализацию. Для реализации Ajax нужно знать только об объекте XMLHttpRequest. Это объект, используемый для обмена данными с сервером за кулисами. Обычно этот объект создается и используется для вызова методов, обеспечивающих эффективное взаимодействие. Все современные браузеры поддерживают объект XMLHttpRequest.
Процесс обмена данными между клиентом и сервером
Ajax работает, используя объект XMLHttpRequest для асинхронной передачи запросов и ответов между клиентом и сервером. На следующей диаграмме показан процесс обмена данными между клиентом и сервером:
Процесс работы Ajax можно разбить на следующие шаги:
- Пользователь запускает событие, например, отпуская клавишу при вводе пароля. Это приводит к вызову функции JavaScript, которая инициализирует объект
XMLHttpRequest
. - Объект
XMLHttpRequest
настроен с учетом параметра запроса, который включает в себя идентификатор элемента управления, инициировавшего событие, и любое значение, введенное пользователем. Затем объектXMLHttpRequest
выполняет асинхронный запрос к веб-серверу. - На веб-сервере запрос обрабатывает такой объект, как servlet или слушатель. Данные извлекаются из хранилища данных, и готовится ответ, содержащий данные в форме XML-документа.
- Наконец, объект
XMLHttpRequest
получает данные XML с помощью функции обратного вызова, обрабатывает их и обновляет HTML DOM (объектную модель документа) для отображения страницы, содержащей новые данные.
В этой инструкции показано, как создать сценарий автозаполнения, следуя последовательности операций, указанной на приведенной выше диаграмме. Сначала вы создаете клиентские файлы для презентации и функций, необходимых для создания объекта XMLHttpRequest
. Затем вы настраиваете серверную часть, создавая хранилище данных и бизнес-логику с использованием технологии на основе PHP. Наконец, вы возвращаетесь к клиентской стороне и реализуете callback()
и другие функции JavaScript для обновления HTML DOM.
Примечание: Приложения AJAX не зависят от браузера и платформы!
Что такое AJAX: резюме
- AJAX сочетает в себе элементы JavaScript, CSS и XML.
- AJAX экономит время, потому что вместо всей страницы перезагружаются только определенные ее части.
- AJAX работает в любом браузере, поэтому многие популярные веб-сайты используют его в своих программах.