AJAX (Asynchronous JavaScript And XML) — підхід до побудови користувацьких інтерфейсів вебзастосунків, за яких вебсторінка, не перезавантажуючись, у фоновому режимі надсилає запити на сервер і сама звідти довантажує потрібні користувачу дані. AJAX — один з компонентів концепції DHTML.

Модель класичних застосунків для мережі (зліва) в прямому порівнянні із застосуванням AJAX (праворуч).

Про AJAX заговорили після появи в лютому 2005 року статті Джесі Джеймса Гарретта (Jesse James Garrett) «Новий підхід до вебзастосунків». AJAX — не самостійна технологія. Це ідея.

Суть підходу

ред.

AJAX — це не самостійна технологія, а швидше концепція використання декількох суміжних технологій. AJAX-підхід до розробки, який призначений для користувачів інтерфейсів, комбінує кілька основних методів і прийомів:

Використання цих підходів дозволяє створювати набагато зручніші вебінтерфейси користувача на тих сторінках сайтів, де необхідна активна взаємодія з користувачем. AJAX — асинхронний, тому користувач може переглядати далі контент сайту, поки сервер все ще обробляє запит. Браузер не перезавантажує web-сторінку і дані посилаються на сервер без візуального підтвердження (крім випадків, коли ми самі захочемо показати процес з'єднання з сервером). Використання AJAX стало популярним після того, як компанія Google почала активно використовувати його при створенні своїх сайтів, таких як Gmail, Google Maps і Google Suggest. Створення цих сайтів підтвердило ефективність використання даного підходу.

Порівняння класичного підходу та AJAX

ред.

Класична модель вебзастосунку:

  1. Користувач заходить на вебсторінку і натискає на який-небудь її елемент
  2. Браузер надсилає запит серверу
  3. У відповідь сервер генерує повністю нову вебсторінку і відправляє її браузеру і т. д.
    • З боку сервера можлива генерація не всієї сторінки наново, а тільки деяких її частин, з подальшою передачею користувачу.

Модель AJAX:

  1. Користувач заходить на вебсторінку і натискає на який-небудь її елемент.
  2. Браузер відправляє відповідний запит на сервер.
  3. Сервер віддає тільки ту частину документа, яка змінилася.

Варіації

ред.

В деяких застосунках використовуються певні варіації з форматом відповіді сервера, такі варіації набули напівофіційні назви.

AHAH (Asynchronous HTML and HTTP) — це споріднений AJAX підхід для динамічного оновлення вебсторінок, використовуючи JavaScript. Основною його відмінністю від AJAX є те, що відповіді сервера повинні бути звичайним HTML.[1] Перевага підходу полягає в більшій сумісності і функціональності (підтримка навігаційних кнопок браузера, аплоад файлів тощо). Реалізується у вигляді звичайних фреймів, що автоматично міняють свій розмір під розмір вмісту, або у вигляді прихованих фреймів, що виконують тільки функції завантаження даних.

Asynchronous XHTML and HTTP, або абревіатура AXAH — це майже те ж саме що і AHAH. Різниця тільки в тому, що в AHAH сервер клієнтові повертає HTML, а в AXAH вже XHTML.

Оглядачі, які підтримують AJAX

ред.

Зауважте, що це загальний список і підтримка застосунків AJAX залежатиме від особливостей підтримки оглядача:

Див. також

ред.

Виноски

ред.

Посилання

ред.

Розробникам

ред.

Інформаційні ресурси

ред.
  • Портал Ajax Patterns — присвячений розробці сайтів на Ajax.
  • Портал AJAX Impact — огляд новин індустрії Ajax, інструментів для розробки, статті.

Інструментарії

ред.
  NODES
INTERN 1