如果我尝试从以#开头的表单或使用GET提交一段文字,我就无法获取任何数据。知道这里发生了什么吗?
网址:{blah} /test.php?test1=foo&test2=#bar
整个PHP代码:
echo $_REQUEST['test1'];
echo '<br/>';
echo $_REQUEST['test2'];
echo '<br/>';
var_dump($_GET);
在浏览器中提供:
FOO
array(2){[&#34; test1&#34;] =&gt; string(3)&#34; foo&#34; [&#34; TEST2&#34;] =&GT; string(0)&#34;&#34; }
如果我在#例如之前再写一些文字&#34; foo#bar&#34;然后我得到&#34; foo&#34;
答案 0 :(得分:2)
网址中的#
字符具有特殊含义。它表示片段标识符的开始。
如果要将其作为数据包含,则需要对其进行百分比编码(%23
)。