Rumah > Artikel > hujung hadapan web > Pengenalan terperinci kepada acara dalam jQuery Ajax_jquery
Ajax mencetuskan banyak acara.
Terdapat dua jenis acara, satu acara tempatan dan satu lagi acara global:
Acara tempatan: dipanggil dan diperuntukkan melalui $.ajax.
Jujukan acara adalah seperti berikut:
acara global ajaxStart
Memulakan permintaan Ajax baharu dan tiada permintaan Ajax lain sedang dijalankan pada masa ini.
sebelumHantar acara tempatan
Dipecat apabila permintaan Ajax bermula. Anda boleh menetapkan objek XHR di sini jika perlu.
ajaxSend acara global
Peristiwa global dicetuskan sebelum permintaan bermula
kejayaan acara tempatan
Dicetuskan apabila permintaan berjaya. Iaitu, pelayan tidak mengembalikan ralat, dan data yang dikembalikan tidak mempunyai ralat.
acara global ajaxSuccess
Permintaan global berjaya
ralat acara setempat
Hanya dicetuskan apabila ralat berlaku. Anda tidak boleh melaksanakan kedua-dua fungsi panggil balik kejayaan dan ralat pada masa yang sama.
acara global ajaxError
Dicetuskan secara global apabila ralat berlaku
acara tempatan lengkap
Tidak kira sama ada permintaan anda berjaya atau gagal, walaupun ia adalah permintaan segerak, anda boleh mencetuskan acara ini apabila permintaan itu selesai.
ajaxLengkap acara global
Dicetuskan apabila permintaan global selesai
acara global ajaxStop
Membakar apabila tiada Ajax sedang berjalan.
Parameter panggilan balik acara setempat ditulis dengan jelas dalam dokumentasi, jadi saya tidak akan menerangkan butiran di sini.
Dalam acara global, kecuali ajaxStart dan ajaxStop, acara lain mempunyai 3 parameter
acara, XMLHttpRequest, ajaxOptions
Yang pertama ialah peristiwa, yang kedua ialah objek XHR, dan parameter ketiga adalah yang paling berguna, ia adalah parameter apabila memanggil ajax ini.
Untuk ajaxError, terdapat parameter keempat, thrownError, yang hanya akan diluluskan apabila pengecualian berlaku.
Kita boleh menggunakan ajaxOptions untuk menulis acara ajax global.
Contohnya
Untuk contoh ini,
Dengan cara ini, kami boleh memaparkan status ajax semasa dengan mudah di suatu tempat di seluruh dunia.
Sudah tentu, seperti yang dinyatakan sebelum ini, parameter ketiga sebenarnya adalah parameter yang dihantar kepada ajax. Kaedah seperti get/post/load/getScript/getJSON pada dasarnya memanggil kaedah ajax, jadi atribut ajaxOptions.url sentiasa sah.
Ada banyak lagi contoh.
Jika anda memanggil dengan ajax, anda juga boleh menghantar parameter tersuai. Dalam contoh berikut, saya menyesuaikan parameter mesej untuk panggilan ajax
Kaedah ajax mudah lain, seperti get, post, getJSON, dsb., fungsi panggil balik semuanya ditetapkan dengan panggilan balik yang berjaya.
Dan hanya tetapan beban sebenarnya adalah panggilan balik yang lengkap.
Jadi, fungsi panggil balik yang ditetapkan dalam beban harus mempunyai 2 parameter.
XMLHttpRequest dan textStatus
Tetapi sebenarnya tidak begitu.
Panggilan balik beban mempunyai tiga parameter
XMLHttpRequest.responseText, textStatus, XMLHttpRequest
Jadi, anda boleh
dalam panggilan balik beban
Gunakan textStatus=="success" atau textStatus=="error" untuk menentukan sama ada panggilan itu berjaya.
Atau gunakan atribut XMLHttpRequest.status untuk menentukan sama ada ia adalah 200 atau 404 atau sesuatu yang lain.
Dalam hal ini, saya rasa ia lebih maju daripada kaedah get/post biasa. Adalah mustahil untuk menetapkan ralat setiap perolehan dalam nombor ganjil. Tetapi menetapkan ajaxError global sebenarnya adalah pilihan yang baik.