我正在使用
location.hash = $(this).attr("id");
立即将id附加到url栏而不重新加载。结果是:http://example.net/index.php/abc#id
然后我回应
$actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
我得到的输出是:http://example.net/index.php/abc
如何在PHP中获取#id(称为片段ID)以便它可以用作PHP变量?
谢谢!
答案 0 :(得分:1)
网络服务器不接收哈希片段,它只是客户端。因此,您无法使用PHP或任何其他服务器端语言来获取它。您可以通过javascript获取该哈希并通过GET参数将其发送到服务器端脚本来解决,但我不建议这样做。
答案 1 :(得分:1)
您无法直接将片段部分从客户端发送到PHP服务器端。但是片段id可以通过javascript访问,你可以将它作为GET参数发送到服务器。
使用window.location
获取包含片段部分和window.location.hash
的完整网址,以获取javascript中的片段部分。
如果您将完整的URL(包括片段哈希)发送到PHP服务器,您可以使用parse_url("URL HERE",PHP_URL_FRAGMENT)
函数来获取片段哈希。