Обгортка для XMLHttpRequest.
Реалізує:
Chain, Events, Options
Синтаксис:
var myRequest = new Request([options]);
Аргументи:
- options - (object, optional) Див. нижче.
Опції:
- url - (string: defaults to null) URL для запиту.
- method - (string: defaults to 'post') HTTP-метод для запиту, може бути 'post' або 'get'.
- data - (string: defaults to '') Типові дані для Request:send, використовуються, коли дані не передано.
- link - (string: defaults to 'ignore') Може бути 'ignore', 'cancel' та 'chain'.
- 'ignore' - Будь-які виклики start під час виконання запиту будуть проігноровані. (Синонім 'wait': true з 1.11)
- 'cancel' - Будь-які виклики start під час виконання запиту матимуть пріоритет над поточним запитом. Новий запит почнеться негайно, скасовуючи поточний. (Синонім 'wait': false з 1.11)
- 'chain' - Будь-які виклики start під час виконання запиту будуть додані до ланцюга і виконаються, як тільки поточний запит завершиться, один за одним.
- async - (boolean: defaults to true) Якщо false, запити будуть синхронними і заморожують браузер під час запиту.
- encoding - (string: defaults to 'utf-8') Кодування для встановлення в заголовку запиту.
- headers - (object) Об'єкт для встановлення заголовків запиту.
- isSuccess - (function) Перевизначає вбудовану функцію isSuccess.
- evalScripts - (boolean: defaults to true) Якщо true, теги
script у відповіді будуть обчислені.
- evalResponse - (boolean: defaults to false) Якщо true, вся відповідь буде обчислена. Відповіді з content-type javascript обчислюються автоматично.
- emulation - (boolean: defaults to true) Якщо true, інші методи крім 'post' або 'get' додаються як post-дані з назвою '_method' (використовується в rails)
- urlEncoded - (boolean: defaults to true) Якщо true, заголовок content-type встановлюється як www-form-urlencoded + encoding
Події:
request
Спрацьовує, коли Request відправлено.
Сигнатура:
onRequest()
complete
Спрацьовує, коли Request завершено.
Сигнатура:
onComplete()
cancel
Спрацьовує, коли запит скасовано.
Сигнатура:
onCancel()
success
Спрацьовує, коли Request завершено успішно.
Сигнатура:
onSuccess(responseText, responseXML)
Аргументи:
- responseText - (string) Повернений текст від запиту.
- responseXML - (mixed) XML відповіді від запиту.
failure
Спрацьовує, коли запит не вдався (код помилки).
Сигнатура:
onFailure(xhr)
Аргументи:
xhr - (XMLHttpRequest) Екземпляр транспорту.
exception
Спрацьовує, коли встановлення заголовка запиту не вдалося.
Сигнатура:
onException(headerName, value)
Аргументи:
- headerName - (string) Назва заголовка, який не вдалося встановити.
- value - (string) Значення заголовка, який не вдалося встановити.
Властивості:
- running - (boolean) True, якщо запит виконується.
- response - (object) Object з ключами text та XML. Доступно у події 'success'.
Повертає:
- (object) Новий екземпляр Request.
Приклад:
var myRequest = new Request({method: 'get', url: 'requestHandler.php'});
myRequest.send('name=john&lastname=dorian');
Див. також:
Додає або змінює заголовок для запиту. Не перевизначає заголовки з опцій.
Синтаксис:
myRequest.setHeader(name, value);
Аргументи:
- name - (string) Назва заголовка.
- value - (string) Значення для призначення.
Повертає:
- (object) Цей екземпляр Request.
Приклад:
var myRequest = new Request({url: 'getData.php', method: 'get', headers: {'X-Request': 'JSON'}});
myRequest.setHeader('Last-Modified','Sat, 1 Jan 2005 05:00:00 GMT');
Повертає заданий заголовок відповіді або null, якщо не знайдено.
Синтаксис:
myRequest.getHeader(name);
Аргументи:
- name - (string) Назва заголовка для отримання значення.
Повертає:
- (string) Значення отриманого заголовка.
- (null)
null якщо заголовок не знайдено.
Приклад:
var myRequest = new Request(url, {method: 'get', headers: {'X-Request': 'JSON'}});
var headers = myRequest.getHeader('X-Request'); //Returns 'JSON'.
Відкриває з'єднання Request і відправляє надані дані з вказаними опціями.
Синтаксис:
myRequest.send([options]);
Аргументи:
- options - (object, optional) Опції для відправленого Request. Також приймає дані як рядок запиту для сумісності.
Повертає:
- (object) Цей екземпляр Request.
Приклади:
var myRequest = new Request({url: 'http://localhost/some_url'}).send("save=username&name=John");
Скасовує поточний виконуваний запит, якщо такий є.
Синтаксис:
myRequest.cancel();
Повертає:
- (object) Цей екземпляр Request.
Приклад:
var myRequest = new Request({url: 'mypage.html', method: 'get'}).send('some=data');
myRequest.cancel();
див. Element.Properties
Setter
Встановлює типовий екземпляр Request для Element. Корисно при роботі з формами.
Синтаксис:
el.set('send'[, options]);
Аргументи:
- options - (object) Опції Request.
Повертає:
- (element) Початковий елемент.
Приклад:
myForm.set('send', {url: 'contact.php', method: 'get'});
myForm.send(); //Sends the form.
Getter
Повертає раніше встановлений екземпляр Request (або новий з типовими опціями).
Синтаксис:
el.get('send'[, options]);
Аргументи:
- options - (object, optional) Опції Request. Якщо передано, цей метод створить новий екземпляр класу Request.
Повертає:
- (object) Екземпляр Request.
Приклад:
el.get('send', {method: 'get'});
el.send();
el.get('send'); //Returns the Request instance.
Користувацький Native для дозволу всіх його методів для будь-якого DOM-елемента через функцію долара $.
Відправляє форму або контейнер інпутів з HTML-запитом.
Синтаксис:
myElement.send(url);
Аргументи:
- url - (string, optional) URL, куди відправити форму або "контейнер інпутів". Якщо url опущено, використовується action форми. url не може бути опущеним для "контейнера інпутів".
Повертає:
Приклад:
HTML
<form id="myForm" action="submit.php">
<p>
<input name="email" value="bob@bob.com">
<input name="zipCode" value="90210">
</p>
</form>
JavaScript
$('myForm').send();
Примітка:
- URL береться з атрибута action форми.