Методы ajax

jquery.ajax(options)

Сложная, но самая универсальная функция поддержки архитектуры Ajax, на которой основаны все Ajax-утилиты в библиотеке

Она принимает единственный объект в виде аргумента, свойства которого определяют все тонкости, касающиеся отправки запроса и обработки ответа сервера.

Параметры запроса

  • url - путь обращения

  • dataType - тип загружаемых данных

  • success - обработчик успешной обработки, f(data, textStatus)

$.ajax({
    url: 'serverscript.php',
    dataType : "html",
    success: function (data, textStatus) {
        ...
    }
});
jquery.ajaxSetup(options)

Устанавливает указанные параметры как значения по умолчанию.

Принимает тот же объект options, какой передается функции ajax().

Указанные вами значения будут использоваться всеми последующими запросами, при оформлении которых не будут явно указаны другие значения параметров.

Эта функция не имеет возвращаемого значения.

$.ajaxSetup({
    url: "serverscript.php",
    global: true,
    type: "POST"
});
jquery.getJSON(url[, data][, f(object, status)])

Отправляет асинхронный запрос по адресу url, добавляя любые данные data.

Вы полняет синтаксический анализ полученного ответа как строки в формате JSON и передает получившийся объект функции обратного вызова f.

Возвращает объект XMLHttpRequest, если таковой имеется, использовавшийся для выполнения запроса.

jquery.getScript(url[, f(text, status)])

Отправляет асинхронный запрос по адресу url.

При получении ответа выполняет его как сценарий, а затем передает текст ответа функции f.

Возвращает объект XMLHttpRequest, если таковой имеется, использовавшийся для выполнения запроса.

Позволяет выполнять междоменные запросы, но в этом случае не передает текст сценария функции f и не возвращает объект XMLHttpRequest.

jquery.get(url[, data[, f(data, status, xhr)[, type]]])

Отправляет асинхронный HTTP GET-запрос по адресу url, добавляя данные data, если указаны, в строку параметров запроса данного URL-адреса.

При получении ответа интерпретирует его как данные типа type или в соответствии со значением заголовка Content-Type ответа и выполняет его или выполняет синтаксический анализ, если это необходимо.

В заключение передает (возможно, в разобранном виде) данные ответа функции обратного вызова f вместе с кодом состояния и объектом XMLHttpRequest, использовавшимся для выполнения запроса.

Этот объект XMLHttpRequest, если имеется, также является возвращаемым значением функции get().

  • url - путь запроса

  • data - передаваемые данные

  • f(data, status, xhr) - обработчик успешного выполнения

  • type - тип получаемых данных, “xml”, “script”, “json”, “jsonp”, “text”

$.get(
    "serverscript.php",
    {
        data: "content",
        data2: "content2"
    },
    function(data, textStatus){
        ...
    },
    "html"
);
jquery.load(url[, data[, f(text, status, xhr)]])

Отправляет асинхронный запрос по адресу url, добавляя любые данные data.

При получении ответа интерпретирует его как строку с разметкой HTML и вставляет ее в каждый выбранный элемент, замещая любое имеющееся содержимое.

В заключение вызывает f как метод для каждого выбранного элемента, передавая функции f текст ответа, код состояния и объект XMLHttpRequest, использовавшийся для выполнения запроса.

Если значение url включает пробел, любой текст после пробела используется как селектор и в выбранные элементы вставляется только часть документа в ответе, которая соответствует селектору.

В отличие от большинства функций поддержки архитектуры Ajax в библиотеке jQuery, load() является методом, а не функцией. Подобно большинству методов объекта jQuery, возвращает объект jQuery, относительно которого этот метод был вызван.

// загружает HTML код в необходимый DOM элемент на странице
$("#content").load(
    "serverscript.php",
    {
        data: "content"
    },
    function(responseText, textStatus, XMLHttpRequest){
        ...
    }
);
jquery.post(url[, data[, f(data, status, xhr)[, type]]])

Действует подобно функции get(), но выполняет не GET-запрос, а HTTP POST-запрос.

  • url - путь запроса

  • data - передаваемые данные

  • f(data, status, xhr) - обработчик успешного выполнения

  • type - тип получаемых данных, “xml”, “script”, “json”, “jsonp”, “text”

$.post(
    "serverscript.php",
    {
        data: "content",
        data2: "content2"
    },
    function(data, textStatus){
        ...
    },
    "html"
);
jquery.param(o[, old=false])

Сериализует имена и значения свойств объекта o в формат «www-form-urlencoded», пригодный для добавления в URL-адрес или для передачи в теле HTTP POST-запроса.

Большинство функций поддержки Ajax в библиотеке jQuery делают это автоматически, если получают объект в параметре data. Если требуется выполнить поверхностную сериализацию объекта в стиле версии jQuery 1.3, во втором аргументе следует передать значение true.

Параметры запроса

параметр

описание

async

асинхронность запроса, по умолчанию true

beforeSend

обработчик, выполняемые перед отправкой

cache

вкл/выкл кэширование данных браузером, по умолчанию true

complete

обработчик запроса, выполнится в конце в любом случаем

contentType

по умолчанию «application/x-www-form-urlencoded»

data

передаваемые данные — строка иль объект

dataFilter

фильтр для входных данных

dataType

тип данных возвращаемых в callback функцию (xml, html, script, json, text, _default)

error

обработчик не успешного запроса

global

тригер — отвечает за использование глобальных AJAX Event’ов, по умолчанию true

ifModified

тригер — проверяет были ли изменения в ответе сервера, дабы не слать еще запрос, по умолчанию false

jsonp

переустановить имя callback функции для работы с JSONP (по умолчанию генерируется на лету)

processData

по умолчанию отправляемые данный заворачиваются в объект, и отправляются как «application/x-www-form-urlencoded», если надо иначе — отключаем

scriptCharset

кодировочка — актуально для JSONP и подгрузки JavaScript’ов

success

обработчик успешного запроса

timeout

время таймаут в миллисекундах

type

GET либо POST

url

url запрашиваемого скрипта

События запросов

параметр

описание

ajaxError

Срабатывает в случае ошибки

ajaxSuccess

Срабатывает по возвращению ответа, аналогично success

ajaxComplete

Глобальное событие, аналогичное complete

ajaxSend

Срабатывает до отправки запроса, аналогично beforeSend

ajaxStart

Данный метод вызывается в случае когда побежал AJAX запрос, и при этом других запросов нету

ajaxStop

Данный метод вызывается в случае когда больше нету активных запросов

$("#content").ajaxSuccess(function(event, request, settings){
    alert("AJAX event");
});