Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mengekalkan Tanda Tambah ( ) dalam Rentetan Pertanyaan?
Cara mengekalkan tanda tambah ( ) dalam rentetan pertanyaan
Dalam pembangunan web, rentetan pertanyaan adalah penting untuk menghantar parameter dan nilai ke skrip sebelah pelayan. Walau bagaimanapun, aksara khas seperti " " boleh menyebabkan cabaran apabila disertakan dalam rentetan pertanyaan.
Soalan:
Bagaimanakah saya boleh memasukkan " " dalam rentetan pertanyaan tanpa ia hilang disebabkan makna khusus dalam semantik URL?
Jawapan:
" " aksara ditafsirkan sebagai ruang dalam rentetan pertanyaan. Untuk mengekalkan " " literal, URLnya perlu dikodkan sebagai "+".
Penjelasan:
Pengekodan URL menggantikan aksara khas dengan persamaan heksadesimalnya bermula dengan "%". Untuk " ", borang pengekodan URL ialah "+". Apabila skrip sebelah pelayan memproses rentetan pertanyaan, mereka biasanya menyahkod URL parameter, menukar "+" kembali kepada " ".
Contoh:
Pertimbangkan rentetan pertanyaan berikut:
Rentetan pertanyaan pertama akan dinyahkodkan sebagai "bar foo", manakala rentetan pertanyaan kedua akan mengekalkan aksara " ".
Pengekodan JavaScript:
Jika anda menjana rentetan pertanyaan secara dinamik dalam JavaScript, anda boleh menggunakan fungsi encodeURIComponent()
untuk mengekod parameter sebelum menambahkannya pada URL:
<code class="language-javascript">var encodedURL = "http://example.com/foo.php?var=" + encodeURIComponent(param);</code>
Ingat bahawa proses pengekodan ini hanya diperlukan jika anda ingin mengekalkan " " literal. Jika anda berhasrat untuk " " ditafsirkan sebagai ruang, pengekodan URL tidak diperlukan.
Atas ialah kandungan terperinci Bagaimana untuk Mengekalkan Tanda Tambah ( ) dalam Rentetan Pertanyaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!