在php的hashtag之后访问URI变量的最佳方法是什么?

时间:2010-01-29 05:41:59

标签: php javascript uri url-routing

我有Javascript更新我的URI如下:

/index.php?page=list#page=news

但我想从我的服务器以某种方式访问​​page = news,以便在复制和粘贴URI时,它会转到新闻页面。这样做的最佳方式是什么?

我尝试$_SERVER['REQUEST_URI'],但$_SERVER中存储的所有内容都在哈希标记之前。

1 个答案:

答案 0 :(得分:4)

你做不到。该数据称为片段,保留用于客户端处理,因此永远不会发送到服务器。

利用该片段的唯一方法是让Javascript在某个时候进行干预。这可能意味着检查页面onload上的哈希标记,然后显示正确的数据。

您可以通过Javascript加载整个页面。虽然它会破坏任何关闭Javascript的人的兼容性,但它会确保最终将散列标记发送给PHP

基本上,它看起来像这样:

  • PHP发送页面
  • Javascript读取hastag
  • 使用hashtag参数创建一个URL(loader.php?page = list& page = news)
    (请注意,在上文中,page=list将被page=news覆盖,因此$_GET['page']将为news
  • AJAX调用PHP
  • 将内容加载到div中。

(这个问题非常重复)