Các câu hỏi :
- Chúng ta có nên thay đổi mã của mình theo đề xuất bên dưới không?
- Có sự khác biệt giữa
.done()
&success:
,.fail()
&error:
và.always()
&complete:
không?
Lời mở đầu :
Tôi đang kết hợp một lệnh gọi jQuery.ajax, mà trước đây tôi cũng đã thực hiện thành công. Một cái gì đó như thế này:
$.ajax(
{
url: someUrl,
type: 'POST',
data: someData,
datatype: 'json',
success: function (data) { someSuccessFunction(data); },
error: function (jqXHR, textStatus, errorThrown) { someErrorFunction(); }
});
Trong khi xem nhanh một số tài liệu, tôi đã bắt gặp một tài liệu tham khảo cho biết rằng Lệnh gọi lại thành công, lỗi và hoàn chỉnh không được dùng nữa kể từ jQuery 1.8. Để chuẩn bị mã của bạn cho việc xóa cuối cùng, hãy sử dụng jqXHR.done (), jqXHR.fail () và jqXHR.always () để thay thế.
Do đó, chúng ta nên bắt đầu viết những thứ như sau:
$.ajax( "example.php" )
.done(function (data) { someSuccessFunction(data); })
.fail(function (jqXHR, textStatus, errorThrown) { someErrorFunction(); })
.always(function() { alert("complete"); });