Технология AJAX. Формат JSON и способы обработки данных в клиентских приложениях
Понятие AJAX
Применение AJAX
Форматы обмена данными
Формат JSON
JSON (JavaScript Object Notation) – это общий формат для представления значений и объектов. Его описание задокументировано в стандарте RFC 4627. JSON легко использовать для обмена данными, когда клиент использует JavaScript, а сервер написан на Ruby/PHP/Java или любом другом языке.
JavaScript предоставляет методы:
Пример: преобразование через JSON.stringify данных студента
Метод JSON.stringify(student)
Объект в формате JSON имеет несколько важных отличий от объектного литерала:
Метод JSON.stringify
JSON поддерживает следующие типы данных:
Пример
Исключаем и преобразуем: replacer
Исключаем и преобразуем: replacer
Форматирование: space
space = 2 указывает JavaScript отображать вложенные объекты в несколько строк с отступом в 2 пробела внутри объекта
Метод JSON.parse
Пример
XMLHttpRequest
XMLHttpRequest
В современной веб-разработке XMLHttpRequest используется по трём причинам:
Режимы работы
XMLHttpRequest имеет два режима работы: синхронный и асинхронный.
Асинхронный режим используется в большинстве случаев.
Чтобы сделать запрос, нужно выполнить три шага:
Асинхронный режим работы
2. Инициализировать его.
Этот метод обычно вызывается сразу после new XMLHttpRequest. В него передаются основные параметры запроса:
method – HTTP-метод. Обычно это "GET" или "POST".
URL – URL, куда отправляется запрос: строка, может быть и объект URL.
async – если указать false, тогда запрос будет выполнен синхронно, это мы рассмотрим чуть позже.
user, password – логин и пароль для базовой HTTP-авторизации (если требуется).
Асинхронный режим работы
3. Послать запрос.
Этот метод устанавливает соединение и отсылает запрос к серверу. Необязательный параметр body содержит тело запроса.
Некоторые типы запросов, такие как GET, не имеют тела. А некоторые, как, например, POST, используют body, чтобы отправлять данные на сервер.
Асинхронный режим работы
4. Слушать события на xhr, чтобы получить ответ.
Три наиболее используемых события: