plugin jQuery ajaxreadystate
Implementasi jQuery AJAX agak terbatas karena tidak menyediakan cara untuk merespons peristiwa readystatechange
yang diaktifkan selama permintaan AJAX. Dokumentasi API jQuery.ajax
sebenarnya menyatakan yang berikut.
Namun, tidak ada mekanisme
onreadystatechange
yang disediakan, karenadone
,fail
,always
, danstatusCode
mencakup semua persyaratan yang memungkinkan.
Meskipun pernyataan ini berlaku untuk sebagian besar kasus penggunaan, bagaimana jika Anda ingin mengakses header respons atau kode status sebelum seluruh permintaan selesai, atau mengakses isi respons saat dialirkan?
Rupanya jQuery tidak menyediakan fungsionalitas ini karena masalah kompatibilitas browser, jadi plugin ini menambahkan fungsionalitas tambahan ini untuk browser yang mendukung fitur ini (lihat catatan kompatibilitas di bawah).
Plugin ini bekerja dengan menambahkan metode baru jQuery.ajaxreadystate
, yang bertindak sebagai pembungkus untuk jQuery.ajax
, memperluas fungsionalitas dan memperbarui objek jqXHR
untuk menghilangkan batasan dan memperbarui properti seiring perubahan readyState
.
Anda menggunakan jQuery.ajaxreadystate
sama seperti yang Anda gunakan jQuery.ajax
, kecuali Anda memiliki satu metode tambahan yang dapat Anda tentukan, metode readystate
.
jQuery . ajaxreadystate ( {
readystate : function ( jqXHR , readyState ) {
}
} ) ;
Metode ini akan diaktifkan setiap kali permintaan memicu peristiwa readystatechange
, dan akan meneruskan objek jqXHR
yang diperbarui, serta readyState
saat ini.
Anda dapat mengunduh rilis stabil dan minified terbaru dari bagian rilis repositori ini. Sebagai alternatif, Anda dapat mengkloning unduhan repositori dari manajer paket.
###Didukung Sepenuhnya
Browser berikut didukung sepenuhnya.
###Didukung Sebagian
Browser berikut ini didukung sebagian karena keterbatasan teknis dari browser itu sendiri. Masalah kompatibilitas dicatat.
responseText
tidak tersedia sampai readyState
adalah 4
.readystatechange
untuk readyState
3
pada titik tertentu selama transfer.responseText
tidak tersedia sampai readyState
adalah 4
.status
dan statusText
tidak diperbarui hingga readyState
bernilai 4
.getAllResponseHeaders
dan getResponseHeader
mengembalikan null
hingga readyState
bernilai 4
.readystate
hanya diaktifkan untuk readyState
1
.responseText
tidak tersedia sampai readyState
adalah 4
.status
dan statusText
tidak diperbarui hingga readyState
bernilai 4
.getAllResponseHeaders
dan getResponseHeader
mengembalikan null
hingga readyState
bernilai 4
.getAllResponseHeaders
dan getResponseHeader
mengembalikan null
hingga readyState
bernilai 3
.getAllResponseHeaders
dan getResponseHeader
mengembalikan null
hingga readyState
bernilai 3
.readystatechange
untuk readyState
3
pada titik tertentu selama transfer.status
dan statusText
tidak diperbarui hingga readyState
bernilai 3
.readystatechange
untuk readyState
3
pada titik tertentu selama transfer.status
dan statusText
tidak diperbarui hingga readyState
bernilai 3
.readystatechange
untuk readyState
3
pada titik tertentu selama transfer.getAllResponseHeaders
dan getResponseHeader
mengembalikan null
hingga readyState
bernilai 4
.Browser yang lebih lama dari yang tercantum tidak diuji, namun mungkin didukung sebagian atau seluruhnya.
Plugin ini kompatibel dengan jQuery 1.5+ dan jQuery 2.0.0+.
Untuk membuat build yang diperkecil, jalankan perintah ini dari direktori root repositori ini.
$ npm run build
Jika Anda menemukan bug atau mempunyai masalah kompatibilitas yang tidak didokumentasikan di atas, silakan buka tiket di bagian masalah untuk repositori ini.
Lihat LISENSI.txt
Jika lisensi ini tidak berfungsi untuk Anda, jangan ragu untuk menghubungi saya.
Jika Anda merasa perangkat lunak saya bermanfaat, mohon pertimbangkan untuk memberikan donasi sederhana di situs web saya di alexomara.com.