【问题标题】:Change a PHP URL Variable with Ajax/Javascript使用 Ajax/Javascript 更改 PHP URL 变量
【发布时间】:2012-08-20 13:15:39
【问题描述】:

作为完整网站重新设计的一部分,我在私人服务器上制作了一个网页。该页面使用 AJAX 代码调用诸如contact.php 之类的文件以显示DIV 层中的内容,因此实际页面仍然是index.php,但看起来像一个联系人页面。

我想要做的是有一个功能,当单击此类进行 AJAX 调用的链接时,将动态更改 URL,以便如果有人单击联系人链接,页面 URL 看起来像 index.php?page=联系方式(例如)。

Facebook 拥有我希望使用的那种系统,当您点击新闻提要中的一张照片,然后切换到来自同一用户/图库的另一张照片时。我不想要只是从哈希标记 (#) 更改 URL 的东西,因为这只会增加设计的复杂性,而将 PHP 变量放入 URL 仅意味着我可以编写 PHP 代码来包含文件如果设置了变量,则直接。

谢谢。

【问题讨论】:

  • 所以你的意思是像 BeatPort 一样,如果你开始播放样本并更改页面,它会继续不间断?使用 JS AFAIK 更改 URL

标签: php ajax url variables dynamic


【解决方案1】:

您是否考虑过使用 History.js?

听起来您实际上是想使用 $_GET 变量来指示页面上提供的内容......有点。虽然看起来你也是通过基于这个 var 的 ajax 调用该内容,所以 php 在这种情况下几乎是无关紧要的,因为它将是 js 解析 url 并决定 ajax 的内容。历史将为你做这一切. 它将 url 读取为一种状态,并按照您的指示服务。显然它不是那么简单,但是如果您阅读文档,就会很清楚如何使用它。 https://github.com/balupton/jquery-history

【讨论】:

  • Github 页面上的演示是我所追求的一半,但它使用哈希 - 我希望它使用 PHP 标识符“?”,所以如果有人点击“关于我们的链接,它当前会打开一个新的 DIV 并 AJAX 将外部文件添加到 DIV 中 - 但随后还会在 URL 上添加诸如“?about”或“?page = about”之类的内容,然后如果该人点击就会消失返回页面上的链接(隐藏和清除新的 DIV)。此外,Github 示例似乎依赖于
      列表中的链接,这限制了可以做的事情。
  • History 在您选择使用它的方式上非常灵活。由于您决定将新状态推送到历史记录,因此您可以选择任何方式来实现这一点,无论是单击、读取名称参数还是 jquery 中的侦听器。这真的是你的电话。如果清除 div 有问题,您可以让它在加载时读取 url 并触发任何 ajax 方法。这完全取决于您如何设置网站的结构。
猜你喜欢
  • 2023-04-08
  • 2016-12-23
  • 2018-11-21
  • 2014-01-01
  • 1970-01-01
  • 2016-11-09
  • 2011-10-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多