我有一个URL的形式:- http://www.sboxeppp.com:88/phones.php?iden=true#6786
现在我想在服务器端检索号码(6786)后面跟着#。我怎么能做到呢?
哈希后面的任何内容只能由客户端脚本访问,因为它不会被发送到服务器,您可以使用parse_url()函数
更多信息:http://php.net/manual/en/function.parse-url.php
你不能那样做。在哈希之后的url部分称为片段,它不会被发送到服务器。它只对客户端脚本可用。
您可以做到这一点的唯一方法是从JavaScript中检索片段(使用 你不能这样做,因为这是一个仅用于浏览器的指令。您可以使用AJAX请求向服务器发送所需的信息。 对,它不允许我把它作为答案发布- : 如何使用JavaScript检查URL中的#hash ? 使用 注意,如果片段在表单的 并读取 如果片段是在客户端生成的(或者以某种方式由用户决定),则必须在客户端上创建该元素。您可以使用window.location.hash
),并使用为此目的专门制作的AJAX请求将此信息传递给服务器。当然,这意味着服务器将不得不首先呈现页面,然后获得片段的通知,这是一个与您想要的完全不同的工作流程。var hashNumber = window.location.hash
应该可以工作。hashNumber = hashNumber.substring(1)
parse_url
:parse_url('http://www.sboxeppp.com:88/phones.php?iden=true#6786',
PHP_URL_FRAGMENT);
target
属性中,它不会被发送到服务器。相反,只需将片段中的信息写入隐藏元素中,如下所示:<input type="hidden" name="_fragment" value="6786" />
$_POST['_fragment']
中的片段。window.location.hash
在JavaScript中访问当前片段。