Они были разработаны для выполнения одной функции в каждом случае. Случай успеха, случай ошибки и общая функция, которая всегда выполняется.
Но как stated here и here, .success()
устарел. См:
Deprecation Извещения: jqXHR.success(), jqXHR.error(), и jqXHR.complete() обратный вызов нежелательны из JQuery 1.8. Чтобы подготовить код для их возможного удаления, вместо этого используйте jqXHR.done(), jqXHR.fail() и jqXHR.always().
Используя этот подход, вы имеете одну функцию для выполнения в случае успеха, другой для выполнения в случае выхода из строя, а окончательный один выполнить в зависимости от того случая:
// Assign handlers immediately after making the request,
// and remember the jqXHR object for this request
var jqxhr = $.ajax("example.php")
.done(function() {
alert("success");
})
.fail(function() {
alert("error");
})
.always(function() {
alert("complete");
});
// Perform other work here ...
// Set another completion function for the request above
jqxhr.always(function() {
alert("second complete");
});
FYI, 'успех () 'метод устарел –
Я не думаю, что видел это, вы видели это где-то? возможно, он использовался в ошибке/непонимании – atmd