Rumah > Artikel > hujung hadapan web > permintaan segerak pengambilan jquery
Memandangkan aplikasi web terus berkembang, JavaScript sisi klien menjadi semakin penting, dan dalam JavaScript, jQuery ialah salah satu perpustakaan yang paling popular.
jQuery ialah pustaka JavaScript yang pantas, kecil, kaya dengan ciri, penyemak imbas merentas yang menjadikan melintasi dan memanipulasi dokumen HTML lebih mudah dan senang. Dalam jQuery, kami biasanya menggunakan teknologi AJAX untuk permintaan data tak segerak. Walau bagaimanapun, dalam beberapa kes, kita perlu menggunakan permintaan segerak Penyelesaian kepada masalah ini adalah dengan menggunakan permintaan segerak pengambilan jQuery.
Artikel ini akan memperkenalkan cara menggunakan permintaan segerak pengambilan jQuery, termasuk sintaks asasnya dan penyelesaian kepada masalah biasa.
Menggunakan permintaan segerak ambil jQuery, anda perlu menghantar parameter yang mengandungi async:false
dalam permintaan AJAX. Parameter ini boleh memastikan bahawa permintaan tak segerak tidak akan terus melaksanakan kod sebelum mengembalikan respons dan menunggu pelayan membalas sebelum meneruskan melaksanakan kod JavaScript.
Sebagai contoh, kami memulakan permintaan GET segerak melalui jQuery:
$.ajax({ url:"http://localhost:8080/api/data", dataType:"json", async:false, success: function(data) { console.log(data); } });
Mari kita lihat sintaks asas untuk mengambil permintaan segerak:
$.ajax({ url: 'example.json', async: false, dataType: 'json', success: (data) => console.log(data) });
Dalam kod di atas, kami menggunakan fungsi $.ajax()
jQuery dalam objek yang mengandungi parameter async:false
. Pada masa yang sama, kami menentukan URL dan jenis data permintaan, dan mencetak data respons selepas permintaan itu berjaya.
Apabila menggunakan permintaan segerak ambil, jika masa respons pelayan terlalu lama, Akan menyekat pelaksanaan JavaScript. Ini bermakna mana-mana kod JavaScript pada halaman tidak akan dapat dilaksanakan sehingga respons dikembalikan. Selain itu, permintaan itu mungkin kekal belum selesai sehingga tamat tempoh atau pelayan bertindak balas.
Penyelesaian: Jika anda ingin mengelakkan penyekatan program, disyorkan untuk menggunakan permintaan tak segerak atau pecahkan permintaan kepada bahagian yang lebih kecil.
Permintaan ambil tidak menghantar kuki ke pelayan secara lalai, yang berbeza daripada permintaan tak segerak. Jika anda ingin menggunakan kuki, anda perlu menetapkan nilai parameter credentials
kepada 'include'
.
$.ajax({ url: 'example.json', async: false, dataType: 'json', credentials: 'include', success: (data) => console.log(data) });
Disebabkan sekatan dasar asal yang sama, permintaan segerak ambil mungkin dipintas merentas domain. Pada ketika ini, penyemak imbas mungkin menyekat permintaan daripada dihantar.
Penyelesaian: Anda boleh menggunakan teknologi JSONP (JSON dengan Padding) atau pelayan proksi untuk mengelakkan isu merentas domain.
Permintaan segerak ambil hanya menyokong kaedah GET dan POST. Jika anda perlu menggunakan kaedah HTTP lain, anda perlu menggunakan permintaan tak segerak.
Jika permintaan segerak berlaku semasa pelaksanaan acara kitaran hayat halaman (seperti onbeforeunload
), halaman akan disekat sehingga respons kembali. Ini boleh menyebabkan halaman digantung untuk masa yang lama, memberikan pengalaman buruk kepada pengguna.
Penyelesaian: Elakkan menggunakan permintaan segerak ambil dalam acara kitaran hayat halaman.
Artikel ini memperkenalkan cara menggunakan permintaan segerak pengambilan jQuery dan cara menyelesaikan masalah biasa. Walaupun menggunakan permintaan segerak adalah mudah dalam sesetengah situasi, terdapat beberapa isu yang berpotensi untuk diketahui. Untuk meningkatkan pengalaman pengguna aplikasi web, adalah disyorkan untuk menggunakan permintaan tak segerak apabila boleh.
Atas ialah kandungan terperinci permintaan segerak pengambilan jquery. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!