将PHP与AJAX状态相结合

时间:2010-06-19 16:45:07

标签: php ajax web-applications jquery

我尝试制作一个ajax /静态程序时遇到了一个令人费解的问题。我想要做的是允许静态链接的应用程序具有ajax动态URL,并且在页面刷新之前一切都很好。

问题:

PHP没有看到哈希,所以它只看到原始的URI请求。因此,PHP加载原始页面,然后JQuery(Javascript)将该页面替换为#后我想要的实际页面。例如:

url:localhost / index.php#!/ search

可以导航到此页面,但按下刷新php可以:

url:localhost / index.php

然后javascript代替:

url:#!/ search

所以我实际上加载了两页......这很糟糕。

这是一个必须发生的问题,我注意到facebook已经做了它来帮助加载时间(我想这样做的原因相同)。从最好的我可以告诉他们能够可靠地检测哈希并用其内容替换$ _SERVER ['REQUEST_URI'],所以当你刷新时,你从localhost / index.php#!/ search获得localhost / search。

我想知道是否有人对此有一点修复。我已经查看了服务器端的JavaScript,但经过大量的谷歌搜索,我并没有真正得到一个清晰的图片。

提前致谢

1 个答案:

答案 0 :(得分:0)

浏览器本身甚至在发出请求时都不会发送URL的哈希部分。您仍然需要加载两页。您可以做的最好的事情是使最初加载的页面成为一个简单的静态HTML Ajax引导程序。这样,初始页面加载是可缓存的,可以轻松加载资源,并且可以快速加载。