Ajax - 在url中维护状态 - 没有#

时间:2010-09-28 07:23:45

标签: javascript ajax mod-rewrite

我正在开发一个有两个搜索参数的AJAX网站。我做了一些mod-rewrite并检查$ _GET变量,以便我可以做类似的事情。

site.com/var1/var2/ - >根据参数自动进行搜索。

现在我想要的是手动搜索的人,能够拥有该格式的网址。我能找到的唯一方法是使用..修改网址。

location.hash ='foo';

这会使它像.. site.com/#var1

哪个不如mod-rewrite好。我发现有效的方法是在我的搜索功能中执行ajax调用我有这个代码

     // avoid appending further variables if there are already variables
     if(location.href == 'some absolute website path')
        location.href = var1+'/'+var2+'/';

这将有效,但基本上强制页面加载,然后我的自动搜索php / javascript将启动由于mod重写。这样可行,但它涉及额外的页面刷新,我宁愿避免。

那里有更好的解决方案吗?理想情况下,如果我能够使用location.href,一旦我更改了值,它就不会导致页面加载,但只是更改url将是理想的(同时保持我的mod-rewrite链接,w / out#引号)。

我正在使用jquery和php。

1 个答案:

答案 0 :(得分:0)

这就是设计方式,没有办法在不引起新请求的情况下更改网址或路径。问候。