jQuery Ajax
AJAX (от англ. Asynchronous Javascript and XML — "асинхронный JavaScript и XML") — подход к построению интерактивных пользовательских интерфейсов веб-приложений, заключающийся в "фоновом" обмене данными браузера с веб-сервером.
Запрос позволяет обновить часть страницы, например список товаров, без полной перезагрузки. Ответ не обязан быть XML:
часто это JSON, текст или HTML. Основной метод —
$.ajax();
$.get()
и
$.post()
сокращают запись типовых запросов.
Возвращаемый jqXHR позволяет подписаться на результат через .done() и .fail(),
а также отменить запрос методом .abort(). Запросы подчиняются ограничениям браузера на доступ к другому
источнику; jQuery не отменяет правила CORS.
Для глобальных событий используйте $(document).on("ajaxError", handler) и аналогичные имена событий.
Сокращения вроде .ajaxError(handler) устарели, но остаются в полной 4.0. Запрос с
global: false не участвует в глобальных событиях.
Примеры рассчитаны на полную jQuery 4.0.0; в slim-сборке AJAX отсутствует. В 4.0 JSON-запрос больше не становится
JSONP автоматически; для загрузки и выполнения скрипта явно задавайте dataType: "script".
| Метод | Описание |
|---|---|
| .ajaxComplete() Устарело |
Назначает обработчик завершения учитываемого глобальными событиями запроса, независимо от успеха. Устарело с
3.5; используйте $(document).on("ajaxComplete", handler).
|
| .ajaxError() Устарело |
Назначает глобальный обработчик ошибки запроса. Устарело с 3.5; используйте
$(document).on("ajaxError", handler).
|
| .ajaxSend() Устарело |
Назначает глобальный обработчик перед отправкой запроса. Устарело с 3.5; используйте
$(document).on("ajaxSend", handler).
|
| .ajaxStart() Устарело |
Назначает обработчик начала первого учитываемого запроса, когда других активных нет. Устарело с 3.5;
используйте $(document).on("ajaxStart", handler).
|
| .ajaxStop() Устарело |
Назначает обработчик завершения всех учитываемых запросов. Устарело с 3.5; используйте
$(document).on("ajaxStop", handler).
|
| .ajaxSuccess() Устарело |
Назначает глобальный обработчик успешного завершения запроса. Устарело с 3.5; используйте
$(document).on("ajaxSuccess", handler).
|
| $.ajax() |
Выполняет настраиваемый HTTP-запрос, по умолчанию асинхронный; возвращает jqXHR для наблюдения за
результатом и отмены запроса.
|
| $.ajaxPrefilter() | Функция регулирует пользовательские параметры AJAX, или изменяет существующие параметры, прежде чем каждый запрос будет отправлен, или обработан функцией $.ajax(). |
| $.ajaxSetup() | Функция устанавливает значения по умолчанию для будущих запросов AJAX. Использование этой функции не рекомендовано. |
| $.ajaxTransport() | Функция создает транспортный объект, который обрабатывает фактическую передачу данных запроса AJAX. |
| $.get() | Загрузка данных с сервера происходит с помощью HTTP запроса методом GET. |
| $.getJSON() | Позволяет загрузить закодированные в формате JSON данные с сервера, с помощью HTTP запроса методом GET. |
| $.getScript() | Позволяет загрузить JavaScript файл с сервера с помощью HTTP запроса методом GET, а затем выполнить его. |
| $.param() | Функция создает сериализованное представление массива, простого объекта, или объекта jQuery, которое подходит для использования в строке URL запроса, или AJAX запроса. |
| $.post() | Позволяет загрузить данные с сервера с помощью HTTP запроса методом POST. |
| .load() | Позволяет загрузить данные с сервера и разместить, возвращенный HTML код внутри необходимых элементов. |
| .serialize() | Собирает отправляемые поля формы в строку URL-кодированных пар «имя — значение». Не отправляет запрос и не включает содержимое файлов. |
| .serializeArray() |
Возвращает массив пар { name, value } для отправляемых полей формы; имена могут повторяться. Не
отправляет запрос.
|