我想使用GET方法向接收頁面發送字符串,但如果字符串包含'#',接收方頁面只能獲得子以「#」之前的字符串 如下面的例子:如何使用GET方法發送包含'#'的字符串?
<a href="test.php?q=string1#string2">test</a>
當我點擊「測試」鏈接,打開「test.php的」頁面,其中有下面的代碼:
<?php
if(isset($_GET["q"])) {
echo $_GET["q"];
}
?>
它只在頁面上顯示'string1','#string2'缺失。
所以我想知道發生了什麼事情的字符串,以及如何解決這個問題。
謝謝你的幫助!
======= ===========更新
隨着@Eric Shaw和@JPDupéré的幫助下,我知道如何解決這個問題。
最簡單的方法是在使用get方法之前對字符串進行編碼。
要編碼的查詢字符串,您可以:在PHP
- 使用
urlencode()
,並且urldecode()
可以解碼的字符串。 - 在JavaScript中使用
encodeURIComponent()
,而decodeURIComponent()
可以解碼字符串。
我認爲你需要編碼你的查詢字符串。 –