当我有这样的网址时:
http://website.com/?var=foo
然后$ _GET数组如下所示:
Array
(
[var] => foo
)
但是当我有这样的URL时:
http://website.com/#location?var=foo
然后$ _GET数组为空:
Array
(
)
这是正常行为吗?如果是,那么这种情况是否有解决方法?
答案 0 :(得分:5)
这是获取$_GET
值
http://website.com/?var=foo#location
主要问题是浏览器甚至不会发送带有片段部分的请求。片段部分在浏览器中解析。所以它可以通过JavaScript访问。
您可以使用 parse_url()
将URL解析为位,包括片段部分答案 1 :(得分:4)
散列后的值(包括散列)永远不会发送到服务器,所以当你执行
时 http://website.com/#location?var=foo
服务器永远不会看到#location?var=foo
重新排序字符串,以便查询字符串出现在哈希之前。 ?var=foo#location
答案 2 :(得分:1)
将#location放在最后,以便您的链接成为 http://website.com/? VAR = FOO#位置
答案 3 :(得分:1)
这不是网址的一般格式。
#location
是一个片段,它应该跟随查询字符串
http://website.com/?var=foo#location