使用Ajax / Javascript更改PHP URL变量

我在私人服务器上组成了一个网页,作为完整网站重新设计的一部分。 该页面使用AJAX代码调用contact.php等文件以显示DIV层中的内容,这样实际页面仍然是index.php,但看起来像一个联系页面。</ p>

我想要做的是有一个函数,当点击进行AJAX调用的链接时,会动态更改URL,这样如果有人点击了Contact链接,页面URL就像index.php?page = contact(as 一个例子。</ p>

当我点击新闻Feed中的照片然后从同一个用户/图库更改为另一张照片时,Facebook就有了我想要使用的那种系统。 我不想要只是从散列标签(#)更改URL的东西,因为这只会给设计增加复杂性,而将PHP变量放入URL的只是意味着我可以编写PHP代码来包含文件 直接如果设置了变量。</ p>

谢谢。</ p>
</ div>

展开原文

原文

I have made up a webpage on a private server as part of a full website redesign. The page calls up files such as contact.php with AJAX code to show the contents within a DIV layer, so that the actual page is still index.php but looks like a contact page.

What I would like to do is have a function that, when such links to make the AJAX call are clicked, will dynamically change the URL so that if somebody clicks the Contact link the page URL looks like index.php?page=contact (as an example).

Facebook has the sort of system I am looking to usewhen you click on a photo from the news feed and then change to another photo from the same user/gallery. I don't want something that just changes the URL from a hash tag (#), as that just adds complication to the design, whereas one that puts a PHP variable into the URL simply means I can write a PHP code to include the file directly if the variable is set.

Thanks.

duan111112
duan111112 所以你的意思是像BeatPort,如果你开始播放样本并更改页面,它会继续不间断?使用JSAFAIK更改URL
大约 8 年之前 回复

1个回答



您是否考虑过使用History.js?</ p>

这听起来像是你想要的 使用$ _GET vars来决定页面上提供的内容......有点儿。 虽然看起来你也是通过基于这个var的ajax来调用那个内容,所以php在这个场景中大多无关紧要,因为它会解析url并决定ajax的内容。历史会为你做所有这些 。
它将URL作为状态读取,并按照您的说法进行操作。 显然它并不那么简单,但是如果你阅读文档就很清楚如何使用它。
https:/ /github.com/balupton/jquery-history </ p>
</ div>

展开原文

原文

Have you considered using History.js?

It sounds like you're wanting to essentially use $_GET vars to dictate what's served on the page... kind of. Although it also looks like you're calling in that content via ajax based on this var, so php is mostly irrelevant in this scenario since it would be js parsing the url and deciding what to ajax in. History will do all of this for you. It reads the url as a state and serves as you tell it to. Obviously it's not that simple, but if you read the docs it's pretty clear how to use it. https://github.com/balupton/jquery-history

dqxsuig64994
dqxsuig64994 历史在您选择使用它时非常灵活。 由于您决定将新状态推送到历史记录,因此您可以按照您选择的方式实现此目的,无论是单击,读取name参数还是jquery中的侦听器。 真的是你的电话。 如果清除div是个问题,你可以让它在加载时读取url并触发任何ajax方法。 这一切都取决于您如何设置您的网站结构。
大约 8 年之前 回复
dongta1824
dongta1824 ...此外,它似乎依赖于状态在<a>标签的HREF元素内,而我希望状态在NAME元素内(例如:<a name =“#/ about”href =“/ about.php”onclick =“ajaxfunction('include_about.php')”>)
大约 8 年之前 回复
doz22551
doz22551 Github页面上的演示是我所追求的一半,但是它正在使用哈希 - 我希望它使用PHP标识符“?”,所以如果有人点击了“关于我们”链接,当前打开 一个新的DIV和AJAX将一个外部文件放入DIV中 - 但是也会在URL上添加类似“?about”或“?page = about”的内容,如果该用户单击页面上的链接返回该内容,则该内容会消失 (隐藏和清除新的DIV)。 此外,Github示例似乎依赖于<UL>列表中的链接,这限制了可以执行的操作。
大约 8 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问