Parameter lompat HTML: Petua untuk menghantar parameter menggunakan kaedah GET dan POST
HTML ialah bahasa pengaturcaraan bahagian hadapan yang biasa digunakan Dalam aplikasi praktikal, kadangkala perlu lulus beberapa parameter semasa melompat halaman. Contohnya, jika anda mencari kata kunci dalam halaman carian, kemudian melompat ke halaman hasil carian dan memaparkan hasil carian yang berkaitan dalam halaman hasil, anda perlu lulus parameter. Artikel ini akan memperkenalkan cara melompat parameter dalam HTML, dan cara menghantar parameter menggunakan kaedah GET dan POST.
1. Cara melompat parameter dalam HTML
Untuk melompat parameter dalam halaman HTML, terdapat dua kaedah: parameter URL untuk melompat dan penyerahan borang untuk melompat.
1. Lompatan parameter URL
Lompatan parameter URL merujuk kepada menambahkan parameter terus ke hujung alamat URL supaya apabila melompat ke halaman sasaran, latar belakang boleh mendapatkan parameter melalui parsing URL .
Format alamat URL adalah seperti berikut:
http://www.example.com/index.php?key=value
di mana, key
ialah nama parameter dan value
ialah nilai parameter. Jika anda perlu melepasi berbilang parameter, anda boleh menggunakan simbol &
untuk menyambungkannya. Contohnya:
http://www.example.com/index.php?key1=value1&key2=value2
Dalam teg hiperpautan <a>
yang perlu dilompat, nilai atribut href ialah alamat URL destinasi lompatan, contohnya:
<a href="http://www.example.com/index.php?key=value">跳转到目的地</a>
Apabila pengguna mengklik pautan ini, ia secara automatik akan melompat ke halaman sasaran dan membawa parameter.
2. Lompat atas penyerahan borang
Lompat atas penyerahan borang merujuk kepada menghantar parameter ke latar belakang melalui penyerahan borang, dan latar belakang memperoleh parameter dengan menghuraikan data borang.
Bentuk biasa bentuk HTML termasuk kotak input teks, kotak pilihan lungsur turun, butang radio, kotak semak, dsb. Untuk menyerahkan borang, pengendali untuk data borang mesti ditakrifkan dalam teg
Contohnya:
<form method="post" action="http://www.example.com/index.php"> <input type="text" name="key1" value="value1"> <input type="text" name="key2" value="value2"> <input type="submit" name="submit" value="提交"> </form>
Dalam kod di atas, method="post"
bermaksud menggunakan kaedah POST untuk menyerahkan borang, dan action="http://www.example.com/index.php"
bermaksud menyerahkan borang ke halaman yang ditentukan.
Antaranya, atribut <input>
dalam teg name
mewakili nama parameter dan atribut value
mewakili nilai parameter. Apabila borang diserahkan, data borang akan dihantar ke latar belakang bersama-sama supaya latar belakang boleh mendapatkan parameter melalui parsing.
2. Petua untuk menghantar parameter melalui kaedah GET dan POST
Apabila menghantar parameter, anda perlu memberi perhatian kepada perbezaan antara kaedah GET dan kaedah POST serta isu keselamatan. Kaedah GET menggunakan parameter sebagai sebahagian daripada URL dan menghantarnya dalam teks yang jelas, yang boleh dipintas atau diganggu dengan mudah oleh penyerang berniat jahat. Kaedah POST termasuk parameter dalam badan mesej dalam permintaan HTTP Walaupun ia lebih selamat, kecekapan penghantaran adalah lebih rendah.
Apabila menghantar parameter, anda boleh menggunakan beberapa teknik untuk memproses parameter untuk menjadikannya lebih fleksibel dan selamat apabila menggunakan kaedah GET atau POST.
1. Gunakan pengekodan URL untuk menghantar parameter
Dalam kaedah GET, parameter dipaparkan dalam URL dalam teks biasa Jika parameter mengandungi beberapa aksara khas, seperti ruang, bahasa Cina, simbol, dsb., Masalah akan timbul. Pada masa ini, teknologi pengekodan URL perlu digunakan untuk mengekod parameter supaya tiada pengecualian berlaku semasa proses penghantaran. Pengekodan URL berfungsi dengan menukar aksara khas kepada perwakilan heksadesimal %xx. Contohnya, kod ruang ialah %20 dan kod Cina "China" ialah %e4%b8%ad%e5%9b%bd.
Dalam URL, semua aksara khas perlu dikodkan. Dalam HTML, anda boleh menggunakan fungsi encodeURIComponent()
dan decodeURIComponent()
untuk mengekod dan menyahkod URL, seperti yang ditunjukkan di bawah:
var keyword = "中国"; var url = "http://www.example.com/index.php?keyword=" + encodeURIComponent(keyword);
Kod di atas menggunakan fungsi encodeURIComponent()
untuk mengekod bahasa Cina dan alamat URL yang dijana ialah :
http://www.example.com/index.php?keyword=%e4%b8%ad%e5%9b%bd
Semasa pemprosesan latar belakang, parameter perlu dinyahkod:
$keyword = urldecode($_GET['keyword']);
2 Gunakan borang tersembunyi untuk menghantar parameter
Apabila menggunakan kaedah POST untuk menghantar parameter, terdapat. is a Caranya ialah menggunakan borang tersembunyi untuk lulus parameter. Menyembunyikan borang bermakna menetapkan atribut style
elemen borang kepada display:none
untuk menjadikannya tidak kelihatan pada halaman. Dengan menambahkan parameter yang diperlukan dalam borang tersembunyi, ia boleh dihantar ke latar belakang bersama-sama apabila borang diserahkan.
Contohnya:
<form method="post" action="http://www.example.com/index.php"> <input type="text" name="keyword" value="中国"> <input type="hidden" name="id" value="123"> <input type="submit" name="submit" value="提交"> </form>
Dalam kod di atas, atribut <input>
bagi teg type
disembunyikan, menunjukkan bahawa ini adalah bentuk tersembunyi, atribut name
mewakili nama parameter, dan atribut value
Mewakili nilai parameter. Apabila menyerahkan borang, parameter ini akan dihantar ke latar belakang bersama-sama.
3. Gunakan format data JSON untuk menghantar parameter
JSON ialah format pertukaran data yang ringan dengan ciri serba boleh, fleksibiliti dan kebolehbacaan. Dalam lulus parameter, parameter boleh dikapsulkan secara langsung dalam objek JSON dan kemudian melalui kaedah POST.
Contohnya:
var data = {"id":123, "name":"中国"}; $.post("http://www.example.com/index.php", JSON.stringify(data), function(response){ console.log(response); }, "json");
Dalam kod di atas, fungsi $.post()
jQuery digunakan untuk melaksanakan penyerahan kaedah POST. Parameter pertama fungsi ini mewakili halaman yang memproses data, parameter kedua mewakili data yang akan dihantar, parameter ketiga mewakili fungsi panggil balik selepas berjaya, dan parameter keempat mewakili jenis data.
Apabila memproses di latar belakang, anda perlu menggunakan fungsi json_decode()
dalam PHP untuk menyahkod:
$data = json_decode(file_get_contents('php://input'), true);
这段代码中,file_get_contents('php://input')
表示获取提交的消息体,即POST方法中的参数。json_decode()
函数将JSON格式的参数解码为PHP数组,第二个参数为true表示转换为关联数组形式。
注意:利用JSON进行参数传递时,需要注意安全性问题,防止恶意攻击者注入JS代码或跨站脚本攻击。此时,可以使用jQuery的$.param()
函数将参数序列化为字符串进行安全性处理。
总结:
HTML跳转参数可以通过URL参数或表单提交实现,使用GET方法和POST方法进行参数传递时,需要注意安全性和参数的编码解码问题。可以利用URL编码、隐藏表单或JSON数据格式等技巧来实现参数的传递。
Atas ialah kandungan terperinci parameter lompat html. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!