JavaScript ialah bahasa skrip yang biasa digunakan yang boleh digunakan untuk pembangunan bahagian hadapan dan belakang. Semasa proses pembangunan bahagian hadapan, selalunya perlu menghantar permintaan ke pelayan bahagian belakang melalui AJAX dan mendapatkan data tindak balas. Antaranya, permintaan GET ialah kaedah permintaan yang paling biasa digunakan Artikel ini akan memperkenalkan cara menggunakan JavaScript untuk menghantar permintaan GET dan cara menghantar parameter permintaan GET.
Dalam JavaScript, anda boleh menggunakan objek XMLHttpRequest (pendek kata objek XHR) untuk menghantar permintaan HTTP. Berikut ialah contoh mudah menggunakan objek XHR untuk menghantar permintaan GET:
var xhr = new XMLHttpRequest(); xhr.open('GET', '/getUserInfo', true); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { console.log(xhr.responseText); } }; xhr.send();
Dalam kod di atas, objek XHR pertama kali dicipta dan kaedah permintaan ialah GET, dan alamat permintaan ialah /getUserInfo . Kemudian pengendali acara onreadystatechange didaftarkan, dan apabila status respons ialah 4 (menunjukkan bahawa permintaan telah selesai) dan kod respons ialah 200, teks respons akan dicetak. Akhir sekali, hantar permintaan melalui kaedah hantar.
Perlu diambil perhatian bahawa XMLHttpRequest mempunyai masalah keserasian Dalam IE6 dan 7, objek ActiveXObject perlu digunakan untuk mendapatkan butiran, sila rujuk kepada dokumen yang berkaitan.
Dalam aplikasi praktikal, selalunya perlu menghantar parameter permintaan ke pelayan bahagian belakang. Dalam permintaan GET, parameter permintaan biasanya dihantar melalui rentetan pertanyaan URL. JavaScript boleh digunakan untuk menambahkan parameter permintaan pada URL dengan menyambung URL, seperti yang ditunjukkan di bawah:
var username = 'Tom'; var age = 20; var xhr = new XMLHttpRequest(); xhr.open('GET', '/getUserInfo?username=' + username + '&age=' + age, true); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { console.log(xhr.responseText); } }; xhr.send();
Dengan menyambung URL, dua parameter permintaan nama pengguna dan umur dilampirkan pada URL. Perlu diingat bahawa jika parameter permintaan mengandungi aksara bukan ASCII seperti bahasa Cina, pengekodan URL perlu dilakukan, jika tidak, aksara yang bercelaru mungkin berlaku. Anda boleh menggunakan fungsi encodeURI untuk pengekodan, seperti yang ditunjukkan di bawah:
var username = '小明'; var age = 20; var xhr = new XMLHttpRequest(); xhr.open('GET', '/getUserInfo?username=' + encodeURI(username) + '&age=' + age, true); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { console.log(xhr.responseText); } }; xhr.send();
Dalam kod di atas, gunakan fungsi encodeURI untuk mengekod URL rentetan Cina untuk memastikan parameter permintaan dihantar dengan betul.
Selain penyambungan URL, anda juga boleh menggunakan kaedah setRequestHeader objek XHR untuk menambahkan parameter permintaan pada pengepala permintaan. Seperti yang ditunjukkan di bawah:
var params = 'username=' + encodeURI('小明') + '&age=' + 20; var xhr = new XMLHttpRequest(); xhr.open('GET', '/getUserInfo', true); xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded'); xhr.onreadystatechange = function() { if (xhr.readyState == 4 && xhr.status == 200) { console.log(xhr.responseText); } }; xhr.send(params);
Dalam kod di atas, parameter permintaan disambung dahulu dalam bentuk "nama parameter = nilai parameter", dan hasilnya disimpan dalam pembolehubah params. Kemudian gunakan kaedah setRequestHeader untuk menetapkan tajuk permintaan Content-type kepada application/x-www-form-urlencoded untuk memaklumkan pelayan format parameter permintaan. Akhir sekali, hantar permintaan melalui kaedah hantar dan lulus parameter permintaan.
Melalui pengenalan di atas, kami mempelajari cara menggunakan JavaScript untuk menghantar permintaan GET dan cara menghantar parameter permintaan GET. Dalam aplikasi sebenar, kaedah yang sesuai boleh dipilih untuk lulus parameter permintaan mengikut keperluan khusus, dengan itu merealisasikan interaksi data hadapan dan belakang.
Atas ialah kandungan terperinci javascript menghantar mendapatkan parameter permintaan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!