[Функция] deferred.then()
Раздел "Deferred"
Метод добавляет обработчики, выполняемые в случае отклонения или выполнения объекта Deferred
Параметры
deferred.then()
1.5
doneCallbacks:функция или массив функций, выполняемых при удачном выполнении объекта Deferred
function() { this; // текущий элемент }
failCallbacks:функция или массив функций, выполняемых при неудачном выполнении объекта Deferred
function() { this; // текущий элемент }
Описание
Данный метод является альтернативой методам .done() или .fail(). Все функции обратного вызова выполняются в том порядке, в котором они были добавлены.
Примеры
Пример:
Только после того как метод $.get вернёт объект jqXHR, то есть когда ajax запрос завершится, будет запущен метод then(), а именно одна из функций обратного вызова, какая именно - зависит от того, успешно или нет был завершен вызов ajax.
"jQuery"
$('#go').click(function(){ jQuery.get("test.php").then( function(){ alert("jQuery.get запрос завершен успешно!"); }, function(){ alert("jQuery.get запрос завершен неуспешно!"); } ); });
"HTML"
<button id="go">Запустить объект Deferred</button>
"Живой пример jQuery"
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <link href="http://test-drupal.ru/themes/slyweb/css/jqueryiframe.css" rel="stylesheet" type="text/css"/> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js"></script> <script> $(document).ready(function(){ $('#go').click(function(){ jQuery.get("test.php").then( function(){ alert("jQuery.get запрос завершен успешно!"); }, function(){ alert("jQuery.get запрос завершен неуспешно!"); } ); }); }); </script> </head> <body class="iframe"> <button id="go">Запустить объект Deferred</button> </body> </html>
Версия jQuery 1.4.2
Документ создан 2010-08-21