Книга: ASP.NET MVC Framework
jQuery.ajax
jQuery.ajax
Функция предназначена для организации Ajax-запросов и представляет собой самый активный элемент jQuery API, но в то же время самый низкоуровневый. jQuery.ajax
принимает один-единственный параметр — структуру данных, которая описывает все, что необходимо для организации асинхронного запроса. Структура данных может содержать следующие поля:
? async
— булево значение, определяющее, будет ли запрос асинхронным. По умолчанию async=true;
? beforeSend
— определяет функцию, которая будет вызвана перед отправкой асинхронного запроса. Этой функции передается единственный параметр текущий объект XMLHttpRequest
;
? cache
— позволяет управлять кэшированием страниц, по умолчанию установлено cache=true
;
? complete
— определяет функцию, которая вызывается в момент завершения запроса, в том числе в случае неудачного запроса. В функцию передается два параметра: текущий объект XMLHttpRequest
и строка, которая указывает статус завершения запроса;
? contentType
— определяет строковое значение типа данных запроса (HTTP-заголовок content-type
). По умолчанию значение устанавливается в application/x-www-form-urlencoded
;
? data
— данные, представленные объектом или строкой, которые должны быть отправлены на сервер вместе с запросом;
? dataFilter
— определяет функцию, которая вызывается для полученных в результате запроса данных. Подразумевается, что данная функция проведет проверку данных и приведет их в безопасный для использования на стороне клиента вид. Функция принимает два параметра: собственно принятые с сервера данные и строковое значение типа данных;
? dataType
— строка, определяющая тип данных, который ожидается в результате запроса. В зависимости от некоторых условий по умолчанию значение этого параметра устанавливается в "xml" или "html";
? error
— определяет функцию, которая будет вызвана в случае возникновения какой-либо ошибки при выполнении асинхронного запроса. Функция принимает три параметра: текущий объект XMLHttpRequest
, строку с описанием типа ошибки и опциональный объект с описанием исключения, если оно было вызвано;
? global
— булево значение, которое определяет, должно ли выполнение этого запроса быть глобальным, что приводит к реагированию на него функций, или вызов не должен вызывать глобальные события. По умолчанию global=true
;
? ifModified
— булево значение, которое указывает, что запрос должен считаться только тогда, когда возвращенные данные отличаются с момента прошлого запроса. По умолчанию ifModified=false
;
? password
— строка, содержащая пароль, который будет использован в случае, когда производится запрос с обязательной аутентификацией;
? processData
— булево значение, которое определяет, необходимо ли производить обработку отправляемых данных из объектного представления в строковое. По умолчанию установлено processData=true
;
? success
— определяет функцию, которая будет вызвана в случае, если запрос успешно завершится. Функция принимает два параметра: объект, содержащий полученные от сервера данные, и строковое значение, указывающее статус результата запроса;
? timeout
— числовое значение, которое определяет время ожидания ответа от сервера, по истечении которого запрос будет считаться завершившимся с ошибкой;
? type
— строка, определяющая типа запроса (GET или POST), по умолчанию type="GET";
? url
— строка, определяющая адрес, к которому отправляется запрос. По умолчанию подразумевается текущая страница;
? username
— строка, определяющая имя пользователя, которое будет использовано в случае, когда производится запрос с обязательной аутентификацией;
? xhr
— определяет функцию, которая должна создавать объект XMLHttpRequest
. По умолчанию функция создает такой объект через ActiveXObject
, если это возможно, если нет, то используется объект XMLHttpRequest
. Вы можете переопределить эту функцию для собственной реализации создания объекта XMLHttpRequest
.
Как можно заметить, функция jQuery.ajax
обладает очень большим количеством настроек. Однако, в связи с тем, что практически все они имеют значения по умолчанию, использование jQuery.ajax
не представляет собой особой сложности. Так, далее представлен вариант запроса значения даты и времени с сервера с помощью jQuery.ajax
:
<script type="text/javascript">
function GetTime() {
$.ajax({
url: 'Home/GetTime',
success: function(result) {
$('#timeText').text('Bpeмя на сервере: ' + result);
},
dataType: 'text'
});
}
</script>
При всем перечисленном количестве возможных параметров для функции jQuery.ajax
использование ее не вызывает труда. Достаточно указать всего лишь три параметра: адрес, обработчик результата и ожидаемый тип результата. Этого достаточно в нашем случае для простейшего асинхронного запроса.
- 19 Библиотека jQuery
- 19.6. Реализация Ajax в библиотеке jQuery
- 19.6.2. Вспомогательные функции поддержки Ajax
- 19.6.2.2. jQuery.getJSON()
- 19.6.3. Функция jQuery.ajax()
- 19.6.4. События в архитектуре Ajax
- 19.8.1. Селекторы jQuery
- ГЛАВА 7 Ajax-функциональность
- Библиотека jQuery
- MVC Framework и Ajax
- jQuery. ajaxSetup
- Применение Ajax и jQuery в MVC Framework