Từ Tài liệu JQuery
Các đối tượng jqXHR được trả về bởi $.ajax()
jQuery 1.5 thực hiện giao diện Promise, cung cấp cho chúng tất cả các thuộc tính, phương thức và hành vi của một Promise (xem đối tượng Trì hoãn để biết thêm thông tin). Các phương thức này nhận một hoặc nhiều đối số hàm được gọi khi $.ajax()
yêu cầu kết thúc. Điều này cho phép bạn chỉ định nhiều cuộc gọi lại trên một yêu cầu và thậm chí chỉ định cuộc gọi lại sau khi yêu cầu có thể đã hoàn thành. (Nếu yêu cầu đã hoàn tất, cuộc gọi lại sẽ được kích hoạt ngay lập tức.) Các phương thức Promise có sẵn của đối tượng jqXHR bao gồm:
jqXHR.done(function( data, textStatus, jqXHR ) {});
Một cấu trúc thay thế cho tùy chọn gọi lại thành công, tham khảo để deferred.done()
biết chi tiết thực hiện.
jqXHR.fail(function( jqXHR, textStatus, errorThrown ) {});
Một cấu trúc thay thế cho tùy chọn gọi lại lỗi, .fail()
phương thức thay thế phương thức .error () không dùng nữa. Tham khảo deferred.fail () để biết chi tiết thực hiện.
jqXHR.always(function( data|jqXHR, textStatus, jqXHR|errorThrown ) { });
(được thêm vào trong jQuery 1.6) Một cấu trúc thay thế cho tùy chọn gọi lại hoàn chỉnh, .always()
phương thức thay thế .complete()
phương thức không dùng nữa .
Đáp lại yêu cầu thành công, các đối số của hàm giống như các đối số của .done()
: data, textStatus và đối tượng jqXHR. Đối với các yêu cầu không thành công, các đối số giống như của .fail()
: đối tượng jqXHR, textStatus và errorThrown. Tham khảo để deferred.always()
biết chi tiết thực hiện.
jqXHR.then(function( data, textStatus, jqXHR ) {}, function( jqXHR, textStatus, errorThrown ) {});
Kết hợp chức năng của các phương thức .done()
và .fail()
, cho phép (kể từ jQuery 1.8), Promise bên dưới được thao tác. Tham khảo hoãn lại .then()
để biết chi tiết thực hiện.
Thông báo khấu hao: Các jqXHR.success()
, jqXHR.error()
và các jqXHR.complete()
cuộc gọi lại được loại bỏ kể từ jQuery 3.0. Bạn có thể sử dụng
jqXHR.done()
, jqXHR.fail()
và jqXHR.always()
để thay thế.
success:
/.done()
được xác định, nếu có. Egsuccess:
chỉ là thực hiện như.done()
những ngày đầu tiên ?