获取PHP但使用#而不是?=

时间:2010-01-07 19:21:46

标签: php

在php中使用$ _GET []时,会搜索变量,例如?id = value

有没有办法调用#value?

4 个答案:

答案 0 :(得分:8)

不,因为网址的哈希部分只是客户端,不会发送到服务器。

当您在浏览器的URL文本框中输入http://server.com/dir/file.php?a=1#something等URL时,浏览器会打开与server.com的连接,然后发出HTTP命令GET /dir/file.php?a=1 HTTP/1.1。这是发送到服务器的唯一数据。 因此,服务器永远不会获得#something部分,这意味着服务器端没有脚本可以编写来读取该值。

此处解释的类似问题:How to get Url Hash (#) from server side

答案 1 :(得分:0)

我已经能够通过javascript获取片段并发送带有片段的ajax请求作为$ _GET内容来解决这个问题。

答案 2 :(得分:0)

在不知道你的整个情况的情况下,我可能会偏离轨道,但是有可能通过一个简单的GET类型的xmlhttprequest将#something发送到服务器。

答案 3 :(得分:-4)

是的,有办法。我想你想做的是:

$arValues = array_values($_GET);
// whatever else you want to do with the values