Pro jQuery
Адам Фриман
Использование Ajax: часть I
Ajax обозначает асинхронный JavaScript и XML, но в наши дни это слово является полноценным само по себе. Ajax позволяет асинхронно делать запросы на сервер, то есть вкратце, ваш запрос происходит на заднем фоне и не мешает пользователю взаимодействовать с вашим HTML документом. Наиболее распространенное использование для Ajax – это отправка данных с элемента form. Преимущество этого заключается в том, что браузеру не нужно загружать новый документ, чтобы отобразить ответ сервера, и вы можете использовать стандартные функции jQuery, чтобы без проблем отобразить данные внутри документа.
Поддержка Ajax, которая будет использоваться в этой главе, встроена в основную библиотеку jQuery, хотя я еще кратко опишу в конце главы полезный плагин. jQuery не переделывает Ajax, скорее делает существующий браузерный Ajax API проще в использовании.
В этой главе я собираюсь рассказать о сокращенных и удобных методах Ajax. Это простые методы, которые делают использование Ajax относительно быстрым и простым. В главе 15 я опишу низкоуровневый jQuery Ajax API, на котором базируются эти методы. Однако, как вы увидите, низкоуровневый API не совсем низкоуровневый, и вы им пользуетесь в основном тогда, когда сокращенные и удобные методы делают не совсем то, чего вы хотите. В таблице 14-1 представлено краткое содержание этой главы.
Таблица 14-1: Краткое содержание главы
Задача | Решение | Листинг |
Выполнить асинхронный HTTP GET запрос |
Использовать метод get |
1, 2, 3 |
Обработать данные, полученные по Ajax запросу GET |
Добавить функцию в метод get |
4 |
Выполнить Ajax запрос в ответ на действия пользователя | Вызвать метод get внутри обработчика событий |
5 |
Запросить данные JSON на сервере | Использовать метод get и получить объект в аргумент функции |
6, 7 |
Послать данные на сервер как часть запроса GET |
Добавить JavaScript объект как аргумент методу get |
8 |
Выполнить асинхронный HTTP POST запрос |
Использовать метод post |
9, 10 |
Отправить данные не из формы POST запросом |
Добавить любой JavaScript объект как аргумент методу post |
11 |
Переписать тип данных, указанный сервером, в ответ на Ajax запрос | Добавить ожидаемый тип в качестве аргумента методам get или post |
12, 13 |
Избежать наиболее общих ловушек Ajax | Не обращаться с запросами Ajax так, как будто они синхронны | 14 |
Использовать удобные методы, чтобы сделать GET запросы для указанных типов данных |
Использовать методы load , getScript или getJSON |
15, 16, 17, 18, 19 |
Просто включить Ajax для элементов form |
Использовать плагин Ajax Forms | 20 |
Использование сокращенных методов Ajax
Избежание наиболее распространенных ловушек Ajax
Использование методов для определенного типа данных