在我的项目中使用LightBox机制时,我得到了一个URL http://nhs/search-panel.php#?patientid=2 我需要通过GET机制从这个收集那个patientid,这可能在PHP吗?
答案 0 :(得分:8)
简单地说:你不能!浏览器不会将请求中的片段(URL之后的部分)发送到服务器。你必须依赖一些客户端的javascript:也许你可以在使用它之前重写url。
答案 1 :(得分:5)
也许其他人都是对的,一个简单的$ _GET就足够了但是如果你的URL(http://nhs/search-panel.php#?patientid=2)中的#应该在那里你必须用JavaScript(和Ajax,例如JQuery)来做,因为一切据我所知,在#请求中没有包含#。
答案 2 :(得分:1)
如果您检查服务器日志,您应该看到没有浏览器实际传输请求的URL的#anchor部分,因此您无法在服务器端进行提取。
如果您需要了解它,您需要编写一些Javascript以从document.location.href中提取它并将其发送到您的服务器,方法是将其转换为常规GET参数并重定向用户,或者在后台使用XMLHttpRequest / AJAX。
答案 3 :(得分:0)
修改:糟糕,这不起作用。其他海报是正确的,说哈希后的任何东西都不会到达你的服务器。
这些方面应该是你做的事情:
//Get complete URI, will contain data after the hash
$uri = $_SERVER['REQUEST_URI'];
//Just get the stuff after the hash
list(,$hash) = explode('#', $uri);
//Parse the value into array (will put value in $query)
parse_str($hash, $query);
var_dump($query);