Rumah >hujung hadapan web >tutorial js >JQuery 1.9 .AJAX () Kelebihan Antara Muka Janji Baru
success
done
error
ditangguhkan: fail
complete
always
Pesanan panggil balik: fail
, semua ini akan dipecat apabila permintaan Ajax kembali dan selesai. done
Parameter always
.always(), .always(), .always()
panggilan chenge: .then()
.done()
.fail()
.then()
menggabungkan .done () dan .fail () ke .then () <code class="language-javascript">// 旧的 complete 函数 complete Function(jqXHR jqXHR, String textStatus) // 新的 done 函数 jqXHR.done(function(data, textStatus, jqXHR) {});</code>dan
ke dalam fungsi . Kod di atas boleh ditulis semula sebagai:
done()
Mula Rantai Panggilan dari JQuery 1.8 kemudian () fail()
then()
Bermula dengan JQuery 1.8, anda boleh memanggil fungsi
<code class="language-javascript">var promise = $.ajax({ url: "/myServerScript" }); promise.then(mySuccessFunction, myErrorFunction);</code>, selepas parsing yang berjaya, jalankan
, kembali janji, dan selepas parsing yang berjaya, laksanakan fungsi tanpa nama.
Gunakan .When () sebagai Janji then()
promise1
anda boleh menggunakan getStuff
untuk menetapkan fungsi panggil balik janji, iaitu
<code class="language-javascript">var promise1 = $.ajax("/myServerScript1"); function getStuff() { return $.ajax("/myServerScript2"); } promise1.then(getStuff).then(function(myServerScript2Data) { // 两个 Promise 都已解析 });</code>
Seperti yang anda lihat, kami lulus tiga janji kepada $ .When, satu untuk memudar animasi dan dua untuk operasi Ajax.
dfd.resolve
fadeOut()
Mengenai dua parameter lain yang kita lalui kepada $. Apabila, kerana hasil $ .ajax adalah objek JQXHR yang melaksanakan janji, kita hanya lulus nilai yang dikembalikan seperti itu. Apakah kelebihan utama menggunakan JQuery 1.9 Ajax Promise Interface?
(jawapan kepada soalan -soalan berikut adalah sama dengan teks asal, tetapi kata -kata telah sedikit diselaraskan untuk mengekalkan teks asal.)
Bagaimana untuk meningkatkan pengendalian ralat pada antara muka JQuery 1.9 Ajax Promise?
Bolehkah saya menggunakan antara muka janji jQuery 1.9 Ajax dengan versi lain jQuery?
jQuery 1.9 Bagaimana antara muka Ajax Promise berbanding dengan kaedah lain yang mengendalikan permintaan Ajax?
Apakah perbezaan antara janji dan objek tertunda jQuery?
Menukar panggilan Ajax tradisional kepada panggilan Ajax berasaskan janji melibatkan pembungkus panggilan Ajax dalam fungsi yang mengembalikan objek janji. Objek Janji kemudiannya dihuraikan atau ditolak berdasarkan kejayaan atau kegagalan panggilan Ajax.
Ya, anda boleh menggunakan antara muka JQuery 1.9 Ajax Promise dengan perpustakaan JavaScript yang lain. Walau bagaimanapun, anda perlu menyedari isu -isu keserasian yang berpotensi, terutamanya jika perpustakaan lain juga menggunakan janji atau pembinaan yang serupa.
Anda boleh menggunakan fungsi $ .When () untuk mengendalikan pelbagai permintaan AJAX menggunakan antara muka JURE 1.9 AJAX Janji. Fungsi ini mengambil pelbagai objek janji sebagai parameter dan mengembalikan objek janji baru yang menyelesaikan apabila semua objek janji input dihuraikan.
Jika permintaan AJAX gagal apabila menggunakan antara muka JURE 1.9 AJAX Janji, objek janji yang berkaitan dengan permintaan itu akan ditolak. Anda boleh mengendalikan ini dengan melampirkan pengendali .fail()
ke objek janji, yang akan dipanggil jika janji ditolak.
Ya, anda boleh menggunakan antara muka JUST 1.9 AJAX Janji untuk operasi asynchronous non-ajax. Antara muka Janji adalah pembinaan umum untuk menguruskan operasi tak segerak, jadi ia boleh digunakan dengan mana -mana operasi yang tidak boleh dilakukan dengan segera, seperti membaca fail atau memohon pangkalan data.
Atas ialah kandungan terperinci JQuery 1.9 .AJAX () Kelebihan Antara Muka Janji Baru. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!