Setiap kali permintaan Ajax selesai dengan sukses, jQuery memicu ajaxSuccess
acara. Setiap dan semua penangan yang telah terdaftar dengan .ajaxSuccess()
metode ini dieksekusi saat ini.
Untuk mengamati metode ini dalam aksi, atur permintaan beban Ajax dasar:
<div class="result"></div>
<div class="log"></div>
Lampirkan pengendali acara ke elemen apa pun:
$( ".log" ).text( "Triggered ajaxSuccess handler." );
});
Sekarang, buat permintaan Ajax menggunakan metode jQuery apa pun:
$( ".result" ).load( "ajax/test.html" );
});
Ketika pengguna mengklik elemen dengan kelas trigger
dan permintaan Ajax selesai dengan sukses, pesan log ditampilkan.
Semua ajaxSuccess
penangan dipanggil, terlepas dari apa permintaan Ajax diselesaikan. Jika Anda harus membedakan antara permintaan, Anda dapat menggunakan parameter yang diteruskan ke handler. Setiap kali ajaxSuccess
handler dieksekusi, ia melewati objek event, XMLHttpRequest
objek, dan objek pengaturan yang digunakan dalam pembuatan permintaan. Misalnya, Anda dapat membatasi callback untuk hanya menangani acara yang berhubungan dengan URL tertentu:
if ( settings.url == "ajax/test.html" ) {
$( ".log" ).text( "Triggered ajaxSuccess handler. The Ajax response was: " +
xhr.responseText );
}
});
Catatan: Anda bisa mendapatkan konten Ajax yang dikembalikan dengan melihat xhr.responseXML
atau xhr.responseText
untuk xml dan html masing-masing.
Catatan tambahan:
- Pada jQuery 1.9, semua penangan untuk acara Ajax global jQuery , termasuk yang ditambahkan dengan
.ajaxSuccess()
metode, harus dilampirkandocument
. - Jika
$.ajax()
atau$.ajaxSetup()
dipanggil denganglobal
opsi disetel kefalse
,.ajaxSuccess()
metode tidak akan diaktifkan.
Contoh:
Tampilkan pesan saat permintaan Ajax selesai dengan sukses.
$( "#msg" ).append( "<li>Successful Request!</li>" );
});