Введение в Ajax для веб-приложений PHP
В этом документе содержится введение в Ajax и описываются некоторые из функций в IDE NetBeans, позволяющий сделать программирование более быстрым и более эффективным процессом при работе с технологиями, связанными с Ajax. На примере низкоуровневых функциональных возможностей Ajax продемонстрирована разработка простого приложения с функцией автозаполнения текстового поля. В документе использованы материалы статьи Грега Мюррея (Greg Murray) и демонстрационное приложение из руководства Использование Ajax при помощи технологии Java.
Ajax – это аббревиатура, означающая «Асинхронный JavaScript и XML» (Asynchronous JavaScript and XML). Основное назначение Ajax состоит в предоставлении веб-приложению возможности эффективной обработки взаимодействия между пользователем и веб-страницей, при этом значительно снижаются требования к обновлению или полной перезагрузке страницы при каждом взаимодействии с пользователем. Такой подход предоставляет широкие возможности при использовании браузера (аналогичные возможностям настольного приложения или веб-приложения на основе подключаемого модуля). Обработка взаимодействия Ajax осуществляется асинхронно в фоновом режиме. Благодаря этому пользователь может продолжать работу со страницей. Взаимодействие Ajax инициируется посредством кода JavaScript. После выполнения взаимодействия Ajax код JavaScript обновляет исходный текст HTML для страницы. Изменения вносятся немедленно без необходимости обновления страницы. Взаимодействия Ajax могут использоваться для выполнения таких задач, как проверка правильности формата вводимых записей на основе серверной логики (непосредственно во время их ввода пользователем), извлечение подробных данных из сервера, динамическое обновление данных на странице и передача элементов форм страницы.

Для работы с этим учебным курсом требуются программное обеспечение и ресурсы, перечисленные ниже.
Всё об Ajax и PHP
Технология Ajax существенно изменила сайтостроение, продвинув его к текущему уровню. Она используется практически на всех ресурсах, начиная сайтами малоизвестных фирм и заканчивая крупными социальными сетями по типу Facebook, «ВКонтакте», Instagram и прочих проектов, находящихся на слуху у практически каждого пользователя Сети.
Обзор
Каждый день вы посылаете сотни, тысячи или даже больше HTTP-запросов. Например, когда в браузере открывается сайт, программа посылает GET, чтобы загрузить содержимое страницы или убедиться, что оно не изменилось от находящейся в кэше информации. Кроме того, загружаются все картинки, видео, CSS-правила, и системы трекинга по типу Яндекс.Метрики тоже регулярно отправляют GET и POST.
В случае с формами всё точно также. Обычно в них используются именно один из двух типов запросов: POST либо GET. Первый вариант обладает преимуществом перед вторым, проявляющимся в виде возможности передавать содержимое неограниченного размера, если лимит специально не установлен на клиентской или серверной стороне. Кроме того, он не даёт прочитать отправленное содержимое через адресную строку, что повышает безопасность (так злоумышленник не сможет найти данные с помощью истории браузера).
Если не пользоваться Ajax, то формы, написанные на HTML и обрабатываемые посредством PHP, будут работать, но пользоваться ими станет неудобно из-за перезагрузок страниц. И если она не особо мешает на редко используемых одним посетителем формах, то в случае с комментированием это вызовет проблемы – представьте себе, если бы каждый раз, когда вы пишете сообщение на «Ютубе», происходило бы обновление вкладки, что действовало бы даже на трансляциях. Именно это позволяет исправить Ajax: с ним запросы отправляются без этого неприятного момента.
Можно задействовать Ajax для скрытой отправки. Это делается, например, сервисами для сбора статистики. Достаточно лишь не приписывать видимое пользователю действие после любого, успешного либо же неудачного выполнения скрипта, и тогда информация об отправке запроса будет содержаться только в редко нужном среднестатистическому посетителю браузерном разделе «Для разработчиков».
Работа с Ajax
На стороне HTML
Понадобится обычная форма, созданная с помощью тега <form>и входящих в него <input>. Для каждого «инпута» следует установить имя через атрибут name, а поскольку в примерах ниже будет вестись поиск значения по идентификатору, нужно задать и его – с помощью id.
Вы также можете использовать class или кастомные параметры, задаваемые посредством data-[…], где вместо фигурных скобок и многоточия можно указать понравившееся наименование латиницей. Значения этих атрибутов не должны иметься у других элементов в документе.
Смените назначение кнопки – её type должен быть button, а не submit. Поскольку планируется использовать JS, можно представить кнопку практически любым элементом: не только ссылками <a> или кнопками <inputtype=»button»>,<button>, но и более экзотическими тегами (в этом контексте) по типу <b>, <em>, <mark>.
Разумеется, нельзя использовать <title>, <link>, <head>и подобные решения. Учтите, что этот момент может сильно испортить юзабилити веб-сайта, поэтому советуется задействовать более «традиционные» варианты. Тем более, что и кнопки можно кастомизировать – огромное количество бесплатных наборов CSS не даст соврать.
На стороне PHP
Формы, «заточенные» под Ajax, делать не надо: доступно пользование уже написанным обработчиком на стороне сервера. Единственное, что может показаться полезным: вырезание функций, посредством которых пользователь специально перенаправляется на другую страницу, либо же выводится ненужная информация.
Вы также можете сделать некую защиту от не-Ajax запросов, посылая их с дополнительным GET- либо POST-параметром, отсутствие которого может привести к недоступности страницы. Впрочем, этот момент можно будет легко обойти, если кому-то станет известна не только ссылка на страницу, но и нужный для её использования параметр.
То есть, стоит цель просто написать программу, способную принимать запросы GET или же POST (в зависимости от метода обращения к серверу).
На стороне JS
Здесь раскрывается самый интересный раздел статьи – Ajax требует написания программы на JS, которую можно скопировать из примеров на этой странице. Потребуется разместить JS-код как можно ниже (желательно, перед закрывающим тегом </body>), однако его простого нахождения не над формой тоже достаточно.
Включите асинхронную загрузку скрипта, если планируется использовать его в формах, требующих долгий ввод текста (например, предназначенных для обратной связи страницах). Это повысит скорость открытия страницы, однако не рекомендуется использовать данную особенность на страницах авторизации – в них поля могут заполниться автоматически браузером, поэтому есть риск возникновения попытки пользователя войти в аккаунт, когда нужный обработчик ещё не загрузился.
Можно использовать «чистый» JS для обеспечивания совместимости формы с Ajax, однако куда проще сделать это в третьей версии библиотеки jQuery, являющейся отличным вариантом для работы не только в этом плане, но и в парсинге. Впрочем, это является уже совершенно другой темой, не нуждающейся в длительном описании здесь. Подойдут и некоторые другие наборы функций для JavaScript, в которых предусмотрено упрощение работы с Ajax.
Написание формы с Ajax
Прежде всего, нужно создать саму форму, используя HTML. Определитесь с типом запросов, которые будут использоваться. Лучше всего задействовать POST, особенно если вы хотите передавать такую информацию, как логины и пароли, или размер данных может быть большим. Лимит для GET– 2048 символов, однако некоторые серверы поддерживают размеры и крупнее, что можно считать исключением.
Далее следует подключить PHP-обработчик. Если форма простая, можно вставить его в этот же документ, что не нарушит удобность чтения. В противном случае рекомендуется вынести скрипт в отдельный файл. Напишите PHP-скрипт под свои цели, а затем – перейдите к JavaScript, чтобы настроить непосредственно сам Ajax.
Подключите библиотеку jQuery, воспользовавшись ссылками на его официальном сайте. Можно задействовать как и CDN (ссылку на внешний ресурс), так и локальный файл, загрузив его на тот же веб-сервер, где находится сайт.
На этом моменте следует заострить внимание: в jQuery присутствует функция $.ajax, которая обладает короткими форматами $.post, $.get и некоторыми другими. Первая поддерживает больше вариантов действия в зависимости от разных случаев (факт отправки вовсе, отдельно: его успешность или проблемность; проверка ответа сервера), однако требуется далеко не во всех случаях.
Например, если предполагается пользование POST-запросами, и это отмечено не только в JS, но и в PHP, актуально задействовать или $.ajax, или $.post. Когда нужен GET, задействуется $.ajax либо $.get. Теперь стоит обратиться к примерам, приведённым ниже.
Здесь следует указать:
- url – ссылку на обработчик. Если он находится в том же файле, что и форма, напишите адрес этой же страницы.
- method – метод. Например: post.
- dataType – тип данных в ожидающемся ответе от сервера. Скорее всего, это будет json или html, но есть и другие варианты по типу script.
- data – информацию, посылаемую серверу в виде массива. Может включать в себя под-массивы, в которые могут входить другие и так далее.
- success – действие, выполняемое после успешного выполнения задачи.
Успешность – не факт выполнения скрипта, но и ещё наличие подходящего ответа от сервера (например, 200 OK). Если нужно проверить, исполнен ли скрипт вообще, следует использовать complete, а отловить ошибку даст error.
AJAX для новичков
AJAX — это аббревиатура, которая означает Asynchronous Javascript and XML. На самом деле, AJAX не является новой технологией, так как и Javascript, и XML существуют уже довольно продолжительное время, а AJAX — это синтез обозначенных технологий. AJAX чаще всего ассоцириуется с термином Web 2.0 и преподносится как новейшее Web-приложение.
При использовании AJAX нет необходимости обновлять каждый раз всю страницу, так как обновляется только ее конкретная часть. Это намного удобнее, так как не приходится долго ждать, и экономичнее, так как не все обладают безлимитным интернетом. Правда в этом случае, разработчику необходимо следить, чтобы пользователь был в курсе того, что происходит на странице. Это можно реализовать с использованием индикаторов загрузки, текстовых сообщений о том, что идёт обмен данными с сервером. Необходимо также понимать, что не все браузеры поддерживают AJAX (старые версии браузеров и текстовые браузеры). Плюс Javascript может быть отключен пользователем. Поэтому, не следует злоупотреблять использованием технологии и прибегать к альтернативным методам представления информации на Web-сайте.
- Возможность создания удобного Web-интерфейса
- Активное взаимодействие с пользователем
- Частичная перезагрузка страницы, вместо полной
- Удобство использования
Обмен данными
Для того, чтобы осуществлять обмен данными, на странице должен быть создан объект XMLHttpRequest, который является своеобразным посредником между Браузером пользователя и сервером (рис. 1). С помощью XMLHttpRequest можно отправить запрос на сервер, а также получить ответ в виде различного рода данных.
Обмениваться данными с сервером можно двумя способами. Первый способ — это GET-запрос. В этом запросе вы обращаетесь к документу на сервере, передавая ему аргументы через сам URL. При этом на стороне клиента будет логично использовать функция Javascript`а escape для того, чтобы некоторые данные не прервали запрос.
Не рекомендуется делать GET-запросы к серверу с большими объемами данных. Для этого существует POST-запрос.
Клиент часть, написанная на Javascript, должна обеспечивать необходимую функциональность для безопасного обмена с сервером и предоставлять методы для обмена данными любым из вышеперечисленных способов. Серверная часть должна обрабатывать входные данные, и на основе их генерировать новую информацию (например, работая с базой данных), и отдавать ее обратно клиенту. Например, для запроса информации с сервера можно использовать обычный GET-запрос с передачей нескольких и небольших по размеру параметров, а для обновления информации, или добавления новой информации потребуется использовать уже POST-запрос, так как он позволяет передавать большие объемы данных.
Как уже было сказано, AJAX использует асинхронную передачу данных. Это значит, что пока идёт передача данных, пользователь может совершать другие, необходимые ему действия. В это время следует оповестить пользователя о том, что идёт какой-либо обмен данными, иначе пользователь подумает, что произошло что-то не то и может покинуть сайт, или повторно вызвать «зависшую», по его мнению, функцию. Индикация во время обмена данными в приложении Web 2.0 играет очень важную роль: посетители могли еще не привыкнуть к таким способам обновления страницы.
Ответ от сервера может быть не только XML, как следует из названия технологии. Помимо XML, можно получить ответ в виде обычного текста, или же JSON (Javascript Object Notation). Если ответ был получен простым текстом, то его можно сразу вывести в контейнер на странице. При получении ответа в виде XML, обычно происходит обработка полученного XML документа на стороне клиента и преобразование данных к (X)HTML. При получении ответа в формате JSON клиент должен лишь выполнить полученный код (функция Javascript`а eval) для получения полноценного объекта Javascript. Но здесь нужно быть осторожным и учитывать тот факт, что с использованием этой технологии может быть передан вредоносный код, поэтому перед выполнением полученного с сервера кода следует его тщательно проверить и обработать. Существует такая практика, как «холостой» запрос, при котором никакой ответ от сервера не приходит, лишь изменяются данные на стороне сервера.
В разных браузерах данный объект обладает разными свойствами, но в целом он совпадает.
Методы объекта XMLHttpRequest
Заметьте, что названия методов записаны в том же стиле (Camel-style), что и другие функции Javascript. Будьте внимательны при их использовании.
abort() — отмена текущего запроса к серверу.
getAllResponseHeaders() — получить все заголовки ответа от сервера.
getResponseHeader(«имя_заголовка») — получить указаный заголовок.
open(«тип_запроса»,«URL»,«асинхронный»,«имя_пользователя»,«пароль») — инициализация запроса к серверу, указание метода запроса. Тип запроса и URL — обязательные параметры. Третий аргумент — булево значение. Обычно всегда указывается true или не указывается вообще (по умолчанию — true). Четвертый и пятый аргументы используются для аутентификации (это очень небезопасно, хранить данные об аутентификации в скрипте, так как скрипт может посмотреть любой пользователь).
send(«содержимое») — послать HTTP запрос на сервер и получить ответ.
setRequestHeader(«имя_заголовка»,«значение») — установить значения заголовка запроса.
Свойства объекта XMLHttpRequest
onreadystatechange — одно из самых главных свойств объекта XMLHttpRequest. С помощью этого свойства задаётся обработчик, который вызывается всякий раз при смене статуса объекта.
readyState — число, обозначающее статус объекта.
responseText — представление ответа сервера в виде обычного текста (строки).
responseXML — объект документа, совместимый с DOM, полученного от сервера.
status — состояние ответа от сервера.
statusText — текстовое представление состояния ответа от сервера.
- 0 — Объект не инициализирован.
- 1 — Объект загружает данные.
- 2 — Объект загрузил свои данные.
- 3 — Объек не полностью загружен, но может взаимодействовать с пользователем.
- 4 — Объект полностью инициализирован; получен ответ от сервера.
Создание объекта XMLHttpRequest
Как уже говорилось выше, создание данного объекта для каждого типа браузера — уникальный процесс.
Например, для создания объекта в Gecko-совместимых браузерах, Konqueror`е и Safari, нужно использовать следующее выражение:
var Request = new XMLHttpRequest();
А для Internet Explorer`а используется следующее:
var Request = new ActiveXObject(«Microsoft.XMLHTTP»);
var Request = new ActiveXObject(«Msxml2.XMLHTTP»);
Теперь, чтобы добиться кроссбраузерности, необходимо сложить все функции в одну:
После всего этого можно создавать данный объект и не беспокоится за работоспособность на популярных браузерах. Но создать объект можно в разных местах. Если создать его глобально, то в определенный момент времени возможен будет только один запрос к серверу. Можно создавать объект всякий раз, как происходит запрос к серверу (это почти полностью решит проблему).
Запрос к серверу
- Проверка существования XMLHttpRequest.
- Инициализация соединения с сервером.
- Посылка запрса серверу.
- Обработка полученных данных.
Создавать запрос стало намного проще. Для примера напишем функцию, которая будет получать содержимое файла на сервере и выводить его в контейнер.
Именно таким образом происходит взаимодействие с сервером.
Обработка ответа
В предыдущем примере мы сделали функцию запроса к серверу. Но она, по сути, небезопасна, так как мы не обрабатываем состояния объекта и состояния ответа от сервера.
Дополним наш код, чтобы он смог выводить визуальное оповещение о процессе загрузки.
Как вы уже знаете, объект XMLHttpRequest позволяет узнать статус ответа от сервера. Воспользуемся этой возможностью.
Варианты ответа от сервера
- Обычный текст
- XML
- JSON
JSON — это объектная нотация Javascript. С ее помощью можно представить объект в виде строки (здесь можно привести аналогию с функцией сериализации). При получении JSON-данных вы должны выполнить их, чтобы получить полноценный объект Javascript и произвести с ним необходимые операции. Помните, что такая передача данных и выполнение их не являются безопасными. Вы должны следить за тем, что поступает на исполнение.
Пример кода JSON:
При получении такого кода, производим следующее действие:
var responsedata = eval(«(» + Request.responseText + «)»)
После выполнения данного кода вам будет доступен объект responsedata.
Работа с серверными языками программирования
Такая работа ничем не отличается от обычной. Для примеров я возьму PHP в качестве серверного языка. В клиентской части ничего не изменилось, но серверная часть теперь представлена PHP-файлом.
По традиции, начнем с приветствия нашему замечательному миру:
При обращении к этому файлу клиенту вернется строка Hello, World. Как вы понимаете, это представляет широчайшие возможности для построения приложений. На основе передачи аргументов при вызове сервера с помощью XMLHttpRequest можно сделать параметризацию вывода, тем самым обеспечив обширную функциональность Web-приложения.
Помимо PHP, можно использовать любой другой серверный язык программирования.
Литература по теме
Статья написана с целью рассказать новичкам о работе AJAX изнутри. Если Вам кажется, что что-то написано неточно или неверно, поправляйте, пожалуйста, меня, для того, чтобы создать достойную статью вместе.
Конечно, если есть возможность, стоит использовать существующие фреймворки, я считаю. Но знать «как оно работает» всё-же необходимо.
Как использовать AJAX в PHP и jQuery
![]()
Sajal Soni Last updated Nov 27, 2021
Сегодня мы собираемся исследовать концепцию AJAX с PHP. Техника AJAX помогает вам улучшить пользовательский интерфейс вашего приложения и улучшить общее восприятие конечного пользователя.
Что такое AJAX?
AJAX расшифровывается как асинхронный JavaScript и XML и позволяет асинхронно извлекать контент с внутреннего сервера без обновления страницы. Таким образом, он позволяет обновлять содержимое веб-страницы без перезагрузки.
Давайте рассмотрим пример, чтобы понять, как вы можете использовать AJAX в повседневной разработке приложений. Скажем, вы хотите создать страницу, которая отображает информацию профиля пользователя, с различными разделами, такими как личная информация, социальная информация, уведомления, сообщения и так далее.
Обычный подход заключается в создании различных веб-страниц для каждого раздела. Так, например, пользователи кликают по ссылке социальной информации, чтобы перезагрузить браузер и отобразить страницу с социальной информацией. Это замедляет навигацию между разделами, поскольку пользователю приходится ждать перезагрузки браузера и повторного отображения страницы каждый раз.
С другой стороны, вы также можете использовать AJAX для создания интерфейса, который загружает всю информацию без обновления страницы. В этом случае вы можете отобразить разные вкладки для всех разделов, и, нажав на вкладку, он извлекает соответствующее содержимое с внутреннего сервера и обновляет страницу, не обновляя браузер. Это поможет вам улучшить общее восприятие конечного пользователя.
Общий вызов AJAX работает примерно так:


Давайте быстро пройдемся по обычному потоку AJAX:
- Сначала пользователь, как обычно, открывает веб-страницу синхронным запросом.
- Затем пользователь нажимает на элемент DOM — обычно кнопку или ссылку — который инициирует асинхронный запрос к серверу. Конечный пользователь не заметит этого, поскольку вызов выполняется асинхронно и не обновляет браузер. Однако вы можете распознать эти AJAX-вызовы с помощью такого инструмента, как Firebug.
- В ответ на запрос AJAX сервер может вернуть данные строки XML, JSON или HTML.
- Данные ответа анализируются с использованием JavaScript.
- Наконец, проанализированные данные обновляются в DOM веб-страницы.
Итак, как вы можете видеть, веб-страница обновляется данными в реальном времени с сервера без перезагрузки браузера.
В следующем разделе мы расскажем, как реализовать AJAX с использованием ванильного JavaScript.
Как AJAX работает с использованием Vanilla JavaScript
В этом разделе мы увидим, как AJAX работает в обычном JavaScript. Конечно, есть доступные библиотеки JavaScript, которые облегчают выполнение AJAX-вызовов, но всегда интересно знать, что происходит внутри.
Давайте посмотрим на следующий ванильный код JavaScript, который выполняет вызов AJAX и асинхронно получает ответ от сервера.
Давайте пройдемся по приведенному выше коду, чтобы понять, что происходит за кулисами.
- Сначала мы инициализируем объект XMLHttpRequest , который отвечает за выполнение вызовов AJAX.
- У объекта XMLHttpRequest есть свойство readyState , и значение этого свойства изменяется в течение жизненного цикла запроса. Оно может содержать одно из четырех значений: OPENED , HEADERS_RECEIVED , LOADING и DONE .
- Мы можем настроить функцию-обработчик для изменений состояния, используя свойство onreadystatechange . И это то, что мы сделали в приведенном выше примере: мы использовали функцию, которая будет вызываться каждый раз при изменении свойства состояния.
- В этой функции мы проверили, равно ли значение readyState 4 , что означает, что запрос завершен, и мы получили ответ от сервера. Затем мы проверили, равен ли код состояния 200 , что означает, что запрос был успешным. Наконец, мы получаем ответ, который хранится в свойстве responseText объекта XMLHttpRequest .
- После настройки обработчика мы инициируем запрос, вызывая метод open объекта XMLHttpRequest . Значение свойства readyState будет установлено равным 1 после этого вызова.
- Наконец, мы вызвали метод send объекта XMLHttpRequest , который фактически отправляет запрос на сервер. Значение свойства readyState будет установлено равным 2 после этого вызова.
- Когда сервер отвечает, он в конечном итоге установит значение readyState равным 4, и вы должны увидеть окно предупреждения, отображающее ответ от сервера.
Вот как AJAX работает с ванильным JavaScript. Конечно, это был очень простой пример для демонстрации концепции AJAX, и в реальном приложении все может быть довольно сложно, так как вам нужно обработать многие различные сценарии успеха и неудач. Таким образом, было бы неплохо выбрать библиотеку JavaScript, которая скрывает специфические сложности браузера!
В следующем разделе мы увидим, как использовать библиотеку jQuery для выполнения вызовов AJAX.
Как работает AJAX с использованием библиотеки jQuery
В предыдущем разделе мы обсуждали, как можно выполнять вызовы AJAX, используя ванильный JavaScript. В этом разделе мы будем использовать библиотеку jQuery, чтобы продемонстрировать это. Я предполагаю, что вы знаете основы библиотеки jQuery.
Библиотека jQuery предоставляет несколько различных методов для выполнения вызовов AJAX, хотя здесь мы рассмотрим стандартный метод ajax , который используется чаще всего.
Посмотрите на следующий пример.
Как вы уже знаете, знак $ используется для ссылки на объект jQuery.
Первым параметром метода ajax является URL-адрес, который будет вызываться в фоновом режиме для получения содержимого со стороны сервера. Второй параметр имеет формат JSON и позволяет указывать значения для некоторых различных параметров, поддерживаемых методом ajax .
В большинстве случаев вам нужно будет указывать функции обратного вызова (коллбеки) для успешного выполнения и для ошибок. Функция обратного вызова для успеха будет вызвана после успешного завершения вызова AJAX. Ответ, возвращенный сервером, будет передан коллбеку для успеха. С другой стороны, коллбек для ошибки будет вызван, если что-то пойдет не так, и возникла проблема при выполнении вызова AJAX.
Итак, как вы можете видеть, AJAX-операции легко выполнять с помощью библиотеки jQuery. Фактически, процесс более или менее одинаков, независимо от библиотеки JavaScript, с которой вы решаете выполнять вызовы AJAX.
В следующем разделе мы увидим реальный пример, чтобы понять, как все это работает с PHP.
Реальный пример AJAX с PHP
В этом разделе мы создадим пример, который извлекает контент JSON из файла PHP на стороне сервера, используя AJAX.
Для демонстрации мы создадим пример, который выполняет вход пользователя с использованием AJAX и jQuery. Для начала давайте создадим файл index.php, как показано в следующем фрагменте, который отображает базовую форму входа.
Файл index.php представляет собой довольно стандартную HTML-форму, которая содержит поля имени пользователя и пароля. Он также содержит фрагмент JavaScript jQuery, который следует схеме, которую мы видели выше.
Мы использовали событие submit элемента формы, которое будет срабатывать, когда пользователь нажимает кнопку отправки. В этом обработчике событий мы инициировали вызов AJAX, который отправляет данные формы в файл login.php, используя метод POST асинхронно. Получив ответ от сервера, мы анализируем его, используя метод parse объекта JSON . И наконец, основываясь на успехе или неудаче, мы предпринимаем соответствующие действия.
Давайте также посмотрим, как выглядит login.php.
Файл login.php содержит логику аутентификации пользователей и возвращает ответ JSON, основанный на успешном или неудачном входе в систему.
Заключение
В этом уроке мы обсудили основы AJAX и его работу в PHP. В первой половине статьи мы рассмотрели, как AJAX работает в ванильном JS и в библиотеке jQuery. Во второй половине мы создали реальный пример, который продемонстрировал, как вы можете использовать AJAX для извлечения PHP содержимого на стороне сервера.
Если у вас есть какие-либо сомнения или вопросы, не стесняйтесь выражать свои мысли, используя канал ниже!