Rumah > hujung hadapan web > tutorial js > JQuery 1.9 .AJAX () Kelebihan Antara Muka Janji Baru

JQuery 1.9 .AJAX () Kelebihan Antara Muka Janji Baru

Joseph Gordon-Levitt
Lepaskan: 2025-02-23 08:46:45
asal
338 orang telah melayarinya

jQuery 1.9  .Ajax() New Promise Interface Advantages

mewarisi 5 contoh baru jQuery.ajax () baru (jQuery 1.9), saya ingin merekodkan perubahan yang dibawa oleh menggunakan antara muka janji jQuery .ajax () 1.9 (beberapa daripadanya boleh diklasifikasikan sebagai kelebihan).

  • Nama: Nampaknya, nama telah diubah, -& gt; 🎜>. success done error ditangguhkan: Janji tertunda boleh terikat di mana -mana sahaja dalam permohonan, mengakibatkan peningkatan fleksibiliti dan kebolehgunaan semula. fail complete always Pesanan panggil balik:
  • Pesanan panggil balik ialah: 1.
  • , 2. , 3. . Ini adalah perintah standard.
  • Pelbagai panggilan balik: Anda boleh menentukan sebilangan panggilan balik jenis yang sama. Sebagai contoh, fail, semua ini akan dipecat apabila permintaan Ajax kembali dan selesai. done Parameter always
  • :
  • (teks asal belum dijelaskan secara terperinci, ditinggalkan di sini) .always(), .always(), .always() panggilan chenge:
  • Bermula dengan jQuery 1.8, anda boleh menggunakan fungsi
  • untuk berantai AJAX permintaan. Lihat contoh di bawah.
  • Gabungan: Anda boleh menggabungkan
  • dan ke . Lihat contoh di bawah. .then()
  • Sumber: JQuery.Ajax API Jika anda mendapati bahawa saya telah terlepas sesuatu yang lain, jangan ragu untuk memberi komen. .done() .fail() .then() menggabungkan .done () dan .fail () ke .then ()
anda boleh menggabungkan fungsi
// 旧的 complete 函数
complete Function(jqXHR jqXHR, String textStatus)

// 新的 done 函数
jqXHR.done(function(data, textStatus, jqXHR) {});
Salin selepas log masuk
dan

ke dalam fungsi . Kod di atas boleh ditulis semula sebagai:

Sumber: ditangguhkan dan berjanji dalam jQuery, permintaan Ajax dirantai

done() Mula Rantai Panggilan dari JQuery 1.8 kemudian () fail() then() Bermula dengan JQuery 1.8, anda boleh memanggil fungsi

dalam susunan rantai. Dalam kod berikut, lari pertama
var promise = $.ajax({
  url: "/myServerScript"
});

promise.then(mySuccessFunction, myErrorFunction);
Salin selepas log masuk
, selepas parsing yang berjaya, jalankan

, kembali janji, dan selepas parsing yang berjaya, laksanakan fungsi tanpa nama.


Setiap fungsi panggil balik akan menerima hasil fungsi tak segerak sebelumnya.

Gunakan .When () sebagai Janji then() promise1 anda boleh menggunakan getStuff untuk menetapkan fungsi panggil balik janji, iaitu

.
var promise1 = $.ajax("/myServerScript1");

function getStuff() {
    return $.ajax("/myServerScript2");
}

promise1.then(getStuff).then(function(myServerScript2Data) {
  // 两个 Promise 都已解析
});
Salin selepas log masuk

Seperti yang anda lihat, kami lulus tiga janji kepada $ .When, satu untuk memudar animasi dan dua untuk operasi Ajax.

  • Parameter pertama adalah fungsi tanpa nama yang melaksanakan sendiri yang mewujudkan pengendali tertunda dan mengembalikan janji. Dalam panggilan balik $. 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.
  • Sumber: Sentiasa jaga janji anda (jQuery), Soalan Lazim mengenai kelebihan JQuery 1.9 Ajax Promise Interface

Apakah kelebihan utama menggunakan JQuery 1.9 Ajax Promise Interface?

Kelebihan utama menggunakan antara muka JQery 1.9 Ajax Promise adalah bahawa ia boleh mengendalikan pelbagai permintaan AJAX secara serentak. Ciri ini amat berguna apabila anda perlu melakukan pelbagai permintaan AJAX dan ingin melaksanakan operasi tertentu hanya setelah semua permintaan selesai. Antara muka Janji menyediakan kaedah untuk mengagregatkan pelbagai keputusan permintaan AJAX dan melaksanakan fungsi panggil balik sehingga semua permintaan selesai. Ini menjadikan kod lebih mudah dibaca dan dikendalikan.

(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?

JQuery 1.9 Ajax Promise Interface meningkatkan pengendalian ralat dengan menyediakan cara bersatu untuk mengendalikan kesilapan. Tanpa menulis kod pengendalian ralat berasingan untuk setiap permintaan AJAX, anda boleh menggunakan antara muka janji untuk mengendalikan semua kesilapan di satu tempat. Ini bukan sahaja memudahkan kod, tetapi juga menjadikan kod lebih mudah untuk dikekalkan dan debug.

Bolehkah saya menggunakan antara muka janji jQuery 1.9 Ajax dengan versi lain jQuery?

Ya, anda boleh menggunakan antara muka JQuery 1.9 Ajax Promise dengan versi lain jQuery. Walau bagaimanapun, ambil perhatian bahawa antara muka janji diperkenalkan dalam JQuery 1.5, jadi ia tidak berfungsi dengan versi terdahulu. Di samping itu, beberapa ciri antara muka janji mungkin tidak tersedia dalam versi jQuery kemudian, jadi selalu disyorkan untuk menyemak dokumentasi jQuery untuk isu keserasian.

jQuery 1.9 Bagaimana antara muka Ajax Promise berbanding dengan kaedah lain yang mengendalikan permintaan Ajax?

JQuery 1.9 Ajax Promise Interface mempunyai beberapa kelebihan ke atas kaedah lain yang mengendalikan permintaan Ajax. Ia menyediakan cara yang lebih berstruktur dan teratur untuk mengendalikan pelbagai permintaan AJAX, meningkatkan pengendalian ralat, dan menjadikan kod lebih mudah dibaca dan diselenggara. Walau bagaimanapun, bagi pemula, ia mungkin sedikit lebih rumit daripada kaedah lain.

Apakah perbezaan antara janji dan objek tertunda jQuery?

Janji dan objek tertunda dalam jQuery kedua -duanya digunakan untuk menguruskan operasi tak segerak, tetapi mereka mempunyai kegunaan yang berbeza. Objek tertunda mewakili unit kerja yang belum selesai, sementara objek janji mewakili hasil akhir kerja. Dalam erti kata lain, objek tertunda boleh dihuraikan atau ditolak, sementara objek janji hanya dapat dipenuhi atau ditolak.

Bagaimana untuk menukar panggilan Ajax tradisional ke panggilan Ajax berasaskan janji?

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.

Bolehkah saya menggunakan antara muka janji jquery 1.9 Ajax dengan perpustakaan JavaScript yang lain?

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.

Bagaimana menggunakan antara muka JQuery 1.9 Ajax Promise untuk mengendalikan pelbagai permintaan AJAX?

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.

Apa yang berlaku jika permintaan AJAX gagal apabila menggunakan antara muka JURUS JUST 1.9 AJAX?

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.

Bolehkah saya menggunakan antara muka janji jquery 1.9 Ajax untuk operasi tak segerak bukan ajax?

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan