Что такое AJAX

Nov 01, 2021 00:14

Этот термин мне кажется каким-то слишком заезженным и пафосным.

Как я понимаю, его придумали, чтобы отметить, что существует два разных подхода к работе с HTML-страницей. Первый подход, который появился изначально, назовём «классическим». А для второго подхода используют термин-аббревиатуру AJAX.

«Классический» подход к работе с HTML-страницей заключается в том, что любое изменение HTML-страницы (изменение на самой этой HTML-странице или переход на другую HTML-страницу) может произойти только после ее полной перезагрузки. Например, после нажатия на какой-либо элемент HTML-страницы (к примеру, на кнопку или гиперссылку) браузер отправляет запрос веб-серверу, тот формирует новую HTML-страницу и посылает ее в ответ на запрос браузера.

Подход к работе с HTML-страницей на базе метода AJAX заключается в том, что при необходимости изменения HTML-страницы скрипт на языке JavaScript определяет, какую часть данной HTML-страницы нужно изменить, и заставляет браузер запросить у веб-сервера только ту часть (или несколько частей) HTML-страницы, которую нужно изменить. Веб-сервер не формирует обновленную HTML-страницу целиком для отправки браузеру (как при «классическом» подходе), а отправляет браузеру только кусочек (кусочки) данных, нужных для обновления HTML-страницы. Браузер получает этот кусочек данных и скрипт вносит необходимые изменения в HTML-страницу. Таким образом, значительная часть работы по обновлению HTML-страницы происходит на стороне пользователя.

Ни один из этих двух методов нельзя считать однозначно «правильным» (предпочтительным). Каждый из них имеет свою специфику, каждый обладает как большими преимуществами по сравнению с другим методом, так и большими недостатками. Каждый из этих двух методов подходит для своего класса задач (тем более, что, как я понимаю, эти методы можно сочетать в рамках одного веб-сайта).

Для обзорного знакомства с понятием AJAX можно пройти по следующим ссылкам:

https://ru.wikipedia.org/wiki/AJAX
https://developer.mozilla.org/en-US/docs/Web/Guide/AJAX

Так как термин AJAX является аббревиатурой, то, естественно, он имеет расшифровку. Я специально перенес эту расшифровку в конец поста, так как, на мой взгляд, она имеет второстепенное значение по сравнению с вышеизложенным.

AJAX - «Asynchronous JavaScript and XML», что по-русски означает «асинхронный JavaScript и XML». Как я понимаю, слово «асинхронный» тут означает то, что встроенные методы (одним из которых, к примеру, является встроенный метод fetch), используемые в скрипте на языке JavaScript при применении AJAX, возвращают промисы. Что такое «асинхронное программирование» и что такое «промисы» в языке JavaScript, можно узнать в разделе «Промисы, async/await» первой части учебника по JavaScript.

Слова «JavaScript and XML» в этой аббревиатуре, как я понимаю, означают, что кусочки данных, необходимых для обновления HTML-страницы, могут быть получены от веб-сервера в одном из двух возможных форматов: в формате JSON или в формате XML. В скриптах на языке JavaScript формат JSON является предпочтительным.

https://ru.wikipedia.org/wiki/JSON
https://ru.wikipedia.org/wiki/XML

Образование, Программирование

Previous post Next post
Up