Примеры: Google suggest
Принцип реализации:
Активируется примерно при каждом нажатии клавиши: система
отслеживает время посылки последнего запроса, при "обычной" скорости печати запрос отсылается при каждом нажатии, при "программисткой" скорости – каждые несколько нажатий.
Создается скрытый
, который показывается при начале печати.
заполняется ответом сервера: текущий результат подсвечивается.
Результаты кэшируются: при нажатии на "удалить", обращения к серверу не происходит.
Для управления частотой запросов отслеживается время на осуществление запроса: при подключении по выделенной линии запросы идут чаще, чем при подключении через модем.
Слайд 12
![Примеры: Gmail На момент появления являлся единственным открытым почтовым сервисом, использующим](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/601867/slide-11.jpg)
Примеры: Gmail
На момент появления являлся единственным открытым почтовым сервисом, использующим AJAX.
Проверка ошибок ввода формы ДО Submit: на сервер передается имя пользователя, результат проверки возвращается на страницу.
Быстрая загрузка: браузер обращается к серверу только за данными, а не обновляет весь интерфейс.
Автоматическая "доставка" писем в открытую папку: на сервер периодически отправляется запрос и, если пришли новые письма, они появляются в браузере.
Автодополнение: достаточно ввести первые буквы имени адресата, остальные дополняются автоматически.
Слайд 19
![accepts (по умолчанию: зависит от dataType). Тип: PlainObject. Набор пар ключ/значение,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/601867/slide-18.jpg)
accepts (по умолчанию: зависит от dataType).
Тип: PlainObject.
Набор пар ключ/значение, которые отправляется
в Accept заголовка запроса. Этот заголовок сообщает серверу, какой ответ запрос будет принимать в ответ. Обратите внимание, что значение параметра, указанного в dataType (тип данных, которые мы ожидаем от сервера) сопоставляется с указанным в параметре. Кроме того, для корректной обработки ответа от сервера необходимо в параметре converters указать функцию, которая возвращает преобразованное значение ответа.
Слайд 24
![complete. Тип: Function( jqXHR jqXHR, String textStatus ). Функция, которая вызывается,](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/601867/slide-23.jpg)
complete.
Тип: Function( jqXHR jqXHR, String textStatus ).
Функция, которая вызывается, когда запрос
заканчивается (функция выполняется после AJAX событий "success" или "error"). В функцию передаются два параметра: jqXHR (в jQuery 1.4.х объект XMLHTTPRequest) и строка соответствующая статусу запроса ("success", "notmodified", "nocontent", "error", "timeout", "abort", или "parsererror"). Начиная с версии jQuery 1.5 параметр complete может принимать массив из функций, которые будут вызываться по очереди.
Слайд 32
![data Тип: PlainObject, или String, или Array. Данные, которые будут отправлены](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/601867/slide-31.jpg)
data
Тип: PlainObject, или String, или Array.
Данные, которые будут отправлены на сервер.
Если они не является строкой, то преобразуются в строку запроса. Для GET запросов строка будет добавлена к URL. Для того, чтобы предотвратить автоматическую обработку вы можете воспользоваться параметром processData со значением false. Если данные передаются в составе объекта, то он должен состоять из пар ключ/значение. Если значение является массивом, то jQuery сериализует несколько значений с одним и тем же ключом (в зависимости от значения параметра traditional, который позволяет задействовать традиционный тип сериализации основанный на методе $.param).