Dari Dokumentasi JQuery
Objek jqXHR dikembalikan pada $.ajax()
saat jQuery 1.5 mengimplementasikan antarmuka Janji, memberi mereka semua properti, metode, dan perilaku Janji (lihat objek yang Ditangguhkan untuk informasi lebih lanjut). Metode-metode ini mengambil satu atau lebih argumen fungsi yang dipanggil ketika $.ajax()
permintaan berakhir. Ini memungkinkan Anda untuk menetapkan beberapa panggilan balik pada satu permintaan, dan bahkan untuk menetapkan panggilan balik setelah permintaan tersebut selesai. (Jika permintaan sudah selesai, callback dipecat segera.) Metode Janji yang tersedia dari objek jqXHR meliputi:
jqXHR.done(function( data, textStatus, jqXHR ) {});
Alternatif konstruksi untuk opsi callback sukses, lihat deferred.done()
rincian implementasi.
jqXHR.fail(function( jqXHR, textStatus, errorThrown ) {});
Alternatif konstruksi untuk opsi panggilan balik kesalahan, .fail()
metode ini menggantikan metode .error () yang tidak digunakan lagi. Rujuk ke deferred.fail () untuk detail implementasi.
jqXHR.always(function( data|jqXHR, textStatus, jqXHR|errorThrown ) { });
(ditambahkan dalam jQuery 1.6) Sebuah konstruksi alternatif untuk opsi panggilan balik lengkap, .always()
metode ini menggantikan metode yang tidak .complete()
digunakan lagi .
Menanggapi permintaan yang berhasil, argumen fungsi adalah sama dengan argumen dari .done()
: data, textStatus, dan objek jqXHR. Untuk permintaan yang gagal, argumennya sama dengan argumen dari .fail()
: objek jqXHR, textStatus, dan errorThrown. Lihat deferred.always()
untuk detail implementasi.
jqXHR.then(function( data, textStatus, jqXHR ) {}, function( jqXHR, textStatus, errorThrown ) {});
Menggabungkan fungsionalitas .done()
dan .fail()
metode, memungkinkan (pada jQuery 1.8) Janji yang mendasarinya untuk dimanipulasi. Lihat ditangguhkan .then()
untuk detail implementasi.
Pemberitahuan Penghentian: The jqXHR.success()
,, jqXHR.error()
dan jqXHR.complete()
callback dihapus pada jQuery 3.0. Anda dapat menggunakan
jqXHR.done()
, jqXHR.fail()
dan jqXHR.always()
sebagai gantinya.
success:
/.done()
didefinisikan, jika sama sekali. Misalnyasuccess:
baru diimplementasikan sebagai yang pertama.done()
hari ini?