Page 164 - 6108
P. 164
responseText, setRequestHeader(name, value),
getAllResponseHeaders(), getResponseHeader(name), abort ().
Об'єкти jqXHR, які повертаються методом $.ajax(), реалізують
Promise інтерфейс. Це дозволяє призначити декілька зворотних викликів для
одного запиту та навіть призначати зворотні повідомлення після завершення
запиту. Доступні наступні Promise методи об'єкта jqXHR:
Метод .done()
jqXHR.done(doneCallbacks [, doneCallbacks ]),
де doneCallbacks – функції function( data, textStatus, jqXHR),
або масив функцій зворотного виклику, які викликаються при успішному запиті
Метод .fail()
jqXHR.fail(failCallbacks [, failCallbacks ] ),
де failCallbacks – функція function(jqXHR, textStatus,
errorThrown) або масив функцій зворотнього виклику, які викликаються,
якщо запит завершився помилкою.
Метод .always()
jqXHR.always(alwaysCallbacks [, alwaysCallbacks ]),
де alwaysCallbacks – функції function(data | jqXHR,
textStatus, jqXHR | errorThrown) або масив функцій зворотного
виклику, які викликаються при успішному запиті або якщо запит завершився
помилкою.
Якщо запит успішний , то аргументи функції такі ж, як і в .done(). Для
невдалих запитів аргументи такі ж, як і файли .fail().
Метод .then() об’єднує функціональність методів .done() та .fail().
jqXHR.then(doneCallbacks [, doneCallbacks],
failCallbacks [, failCallbacks])
let jqxhr = $.ajax( "example.php" )
.done(function() {
alert( "success" );
}).fail(function() {
alert( "error" );
}).always(function() {
alert( "complete" );
});
// Встановлюємо іншу функцію для обробки вище наведеного
запиту
jqxhr.always(function() {
alert( "second complete" );
});
Скорочені методи
Метод .load() найпростішим способом завантаження даних з сервера.
Якщо відповідь від сервера успішна (наприклад, коли textStatus є
"success" або "notmodified"), .load() встановлює вміст HTML
відповідного елемента згідно повернутих даних.
.load( url [, data ] [, complete ] )
де url – URL, на який надсилається запит
data – простий об'єкт або рядок, який надсилається на сервер із запитом