可能重复:
How to obtain anchor part of URL after # in php
Is it possible to access anchors in a querystring via PHP?
我需要找到一种方法来做到这一点,facebook会这样做,所以它必须是可能的......
如果用户在浏览器中转到此URL http://localhost/index.php?photos=p#的 12345
然后我可以让我的PHP从mysql加载ID 12345 的照片
如果用户去了
http://localhost/index.php?photos=p#的 123456
然后它会加载ID为 123456
我只需要帮助在#之后获取网址中的值,并尽可能使用PHP访问它?如果不可能,那么我可能可以使用jQuery访问它,然后进行AJAX调用以基于此值加载图像。
所以有人知道如何获得这个价值吗?
答案 0 :(得分:2)
您可以使用
在 Javascript 中获取哈希值document.location.hash
答案 1 :(得分:1)
您只能使用Javascript访问此值,因为它永远不会发送到服务器,因此PHP永远不会得到它。正如Kenny所说,您可以使用
访问它document.location.hash
或
window.location.hash
但您无法使用PHP访问它。
Facebook实际上是一个非常繁重的Javascript网站。您可能想要在加载页面时立即发送图片/注释数据的AJAX请求。然后当有人按下“下一步”按钮时,你会再做一次请求。
答案 2 :(得分:1)
应用程序执行此操作的方式是使用javascript解析哈希,使用document.location.hash
,并使用AJAX或其他客户端技术动态加载图像。这个AJAX调用可以将哈希发布到PHP脚本,该脚本执行任何必要的服务器端处理并返回图像URL或类似的东西。
如果您使用许多浏览器或javascript框架支持的dom:loaded
事件,则几乎无缝地发生这种情况。
答案 3 :(得分:0)
这些值(锚点)通常不会被浏览器发送到服务器。所以你不能依赖它们。
答案 4 :(得分:0)
它在JavaScript中可用作window.location.hash。这是dupe of another SO question,有一些答案。
答案 5 :(得分:0)
哈希值后面的值标识文档中的一个点。它不是文档本身的一部分。因此,像“/ path / to / something#section”这样的URL将导致浏览器从服务器请求“/ path / to / something”,然后跳转/滚动到“section”标识的点。
您希望将照片ID构建到网址或查询字符串中: