Питання :
- Чи повинні ми змінити кодування, як запропоновано нижче?
- Чи є різниця між
.done()
&success:
,.fail()
&error:
та.always()
&complete:
?
Преамбула :
Я складав виклик jQuery.ajax, який я успішно робив і раніше. Щось на зразок цього:
$.ajax(
{
url: someUrl,
type: 'POST',
data: someData,
datatype: 'json',
success: function (data) { someSuccessFunction(data); },
error: function (jqXHR, textStatus, errorThrown) { someErrorFunction(); }
});
Переглянувши деяку документацію, я натрапив на посилання про те, що успіх, помилки та повні зворотні виклики застаріли станом на jQuery 1.8. Щоб підготувати свій код до їх остаточного видалення, використовуйте jqXHR.done (), jqXHR.fail () та jqXHR.always ().
Тому нам слід почати кодування приблизно такого:
$.ajax( "example.php" )
.done(function (data) { someSuccessFunction(data); })
.fail(function (jqXHR, textStatus, errorThrown) { someErrorFunction(); })
.always(function() { alert("complete"); });