我知道$ _SERVER ['REQUEST_URI']可以获取当前页面的url,但是它会在url的末尾省略#post。我喜欢在最后使用#blah使页面滚动到某一点。例如:
index.php#answer
使用$ _SERVER ['REQUEST_URI']只返回:
index.php
我怎样才能让它在最后读到#answer?
答案 0 :(得分:2)
URL哈希永远不会发送到服务器。因此,使用PHP或任何其他服务器端语言检索它是不可能的。
要实现滚动,请将要滚动的元素设置为id="answer"
- 然后浏览器将自动跳转到该页面。如果你想使用JavaScript执行平滑滚动,你可以通过location.hash
访问哈希 - 有一些不错的jQuery插件可以顺利滚动到指定的元素。
答案 1 :(得分:0)
这不起作用,因为哈希不会被发送到服务器,而是用于页面锚定。
您只能使用PATH_INFO
和QUERY_STRING
或REQUEST_URI
,这是前面提到的两者的组合。 QUERY_STRING是URI中可选?
之后的部分。
您可以从javascript访问该哈希,如果您真的想通过AJAX发送它。