2011-09-09 109 views
1

我们有一个用PHP写的应用程序。它的主要观点是例如:/pages/index保存AJAX加载页面的URL,因此可以在刷新后加载

现在,当用户点击某些链接,它通过ajax拉入其他视图。即。一个调用可能看起来像/pages/publish,所以PHP会将发布部分的相关html输出回索引视图。

我们现在面临的问题是我们希望能够让用户选择刷新并看到与以前相同的视图。所以,我最初的想法是这样的,当我们在jQuery中使用​​时,如果用户刷新,那么将它的URL加载并存储在某处供PHP读取。是做最好的方法还是可以有人想到一个更好的方式来做这件事?

+1

您可以将URL保存在会话中。但是,为什么不为你的ajax加载的页面使用散列。 '/ pages /#index'和'pages /#publish'的行。 – Shef

+1

也许我不明白,但问题与$ _SERVER数组的更新有何关系? – Karolis

回答

2

退房jQuery.address哪应该解决你的问题!它允许AJAX加载新页面,并相应地更新地址栏。如果用户保存此URL并重新加载,则页面上的脚本可以加载正确的页面。

或者,如果您仅限HTML5,那么您可以尝试history.pushState(),它将修改网址而不使用哈希符号,但支持不是100%。 (我不认为......从我的经验来看,它确实在iPad上出现异常。)

+1

该解决方案不涉及任何服务器端的东西,所以也适用于PHP,ASP等。 – JoLoCo