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 } для отправляемых полей формы; имена могут повторяться. Не отправляет запрос.