jQuery ialah rangka kerja JavaScript bahagian hadapan yang popular yang menyediakan pelbagai fungsi dan komponen, salah satunya ialah Ajax. Di Ajax, kita selalunya perlu menghantar data ke latar belakang, sama ada nilai tunggal atau berbilang nilai. Artikel ini akan memperkenalkan cara menggunakan Ajax jQuery untuk menghantar tatasusunan ke latar belakang.
Sebelum menghantar tatasusunan, ia perlu disirikan ke dalam format yang boleh diangkut. Anda boleh menggunakan kaedah $.param() jQuery untuk mensiri tatasusunan menjadi rentetan dalam format "nama=nilai". Contohnya:
var arr = [1, 2, 3]; var param = $.param({ data: arr }); // "data%5B%5D=1&data%5B%5D=2&data%5B%5D=3"
Dalam contoh di atas, kita mula-mula mentakrifkan arr tatasusunan, yang mengandungi tiga nilai. Kami kemudian memanggil kaedah $.param() untuk mensiri tatasusunan menjadi rentetan yang mengandungi parameter bernama "data". Nilai parameter ini ialah hasil bersiri tatasusunan. Akhir sekali, pembolehubah param yang kami perolehi mengandungi rentetan bersiri.
Sekarang kita telah menyerikan tatasusunan menjadi rentetan, kita boleh menggunakan Ajax untuk menghantar rentetan ini ke latar belakang. Anda boleh menggunakan kaedah $.ajax() jQuery untuk menghantar permintaan POST dan menggunakan rentetan bersiri sebagai parameter permintaan. Contohnya:
var arr = [1, 2, 3]; var param = $.param({ data: arr }); $.ajax({ url: "example.php", type: "POST", data: param, success: function(result) { console.log(result); } });
Dalam contoh di atas, kami memanggil kaedah $.ajax(), dengan menghantar beberapa parameter pilihan. Antaranya, url mewakili URL yang diminta, jenis mewakili jenis permintaan sebagai POST, data mewakili parameter permintaan dan kejayaan mewakili fungsi panggil balik yang dilaksanakan selepas permintaan berjaya. Dalam contoh ini, kami menghantar rentetan bersiri kepada Ajax sebagai parameter permintaan.
Di latar belakang, kita perlu menghuraikan parameter permintaan yang diterima dan mengekstrak data tatasusunan bersiri. Tugas ini boleh dicapai menggunakan fungsi parse_str() dalam PHP. Contohnya:
$data = array(); parse_str($_POST['data'], $data);
Dalam contoh di atas, kami mula-mula mentakrifkan tatasusunan kosong $data, dan kemudian gunakan fungsi parse_str() untuk mengekstrak parameter bernama "data" daripada tatasusunan $_POST. Fungsi parse_str() akan menghuraikan rentetan bersiri ini ke dalam tatasusunan PHP dan menyimpannya dalam pembolehubah $data. Kini, kita boleh menggunakan tatasusunan ini di bawah hud untuk melaksanakan pelbagai operasi.
Sekarang, mari lihat contoh lengkap yang menunjukkan cara menghantar tatasusunan ke latar belakang dan menerima responsnya menggunakan Ajax jQuery:
var arr = [1, 2, 3]; var param = $.param({ data: arr }); $.ajax({ url: "example.php", type: "POST", data: param, success: function(result) { console.log(result); // ["1", "2", "3"] } });
$data = array(); parse_str($_POST['data'], $data); $response = json_encode($data['data']); echo $response;
Dalam contoh ini, kita mula-mula mentakrifkan arr tatasusunan, yang mengandungi tiga nilai. Kemudian kami menggunakan kaedah $.param() untuk mensirikannya menjadi param rentetan. Seterusnya, kami menggunakan kaedah $.ajax() untuk menghantar permintaan POST kepada "example.php", dan parameter permintaan ialah rentetan param.
Di sebalik tabir, kami menghuraikan parameter permintaan menggunakan fungsi parse_str() dan menukarnya kepada tatasusunan PHP $data. Kami kemudian menggunakan fungsi json_encode() untuk menukar tatasusunan ini menjadi rentetan berformat JSON dan mengembalikannya sebagai tindak balas.
Di bahagian hadapan, kami menggunakan fungsi panggil balik kejayaan jQuery untuk menerima respons. Dalam contoh ini, respons ialah tatasusunan yang mengandungi tiga rentetan. Kami mengeluarkannya ke konsol untuk diperiksa.
Dengan contoh lengkap ini, anda sepatutnya memahami cara menggunakan Ajax jQuery untuk menghantar tatasusunan ke latar belakang dan menerima responsnya. Contoh ini boleh membantu anda menggunakan teknik ini dalam pembangunan sebenar.
Atas ialah kandungan terperinci Bagaimana ajax jquery menghantar tatasusunan ke latar belakang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!