更改页面url而不刷新页面

这有可能吗?

这是问题所在:

我有一个关键字搜索与此URL(搜索后): http:// localhost / thi / search?keyword = key

然后我有一个使用AjaxForm插件(jquery)的滑块搜索…

当我执行滑块搜索时,显然我仍然会在关键字搜索URL中(因为请求是通过ajax发送的)

有没有办法将当前url更改为http:// localhost / thi / search?price = 100 (滑块通过GET提交,价格为GET变量)

我希望这样做,因为我希望滑块的搜索结果被加入书签……或者有没有其他方法可以做到这一点?

您可以使用window.location.hash方法使用哈希URL(搜索window.location.hash = 100)。 这些将被加入书签,用户可以使用后退和前进按钮浏览这些内容。

使用范例:

 100 $('a').click(function() { window.location.hash = 'price='+$(this).html(); return false; }); 

将URL设置为search#price=100而不刷新。

我可以建议的最好的事情是在url中使用hash。 这将允许用户为url添加书签,并在他们回来时仍保持状态。 另一个好处是您可以在不刷新页面的情况下更改哈希值。

所以你的url看起来像…… http:// localhost / thi / search?keyword = key #price = 100

JQuery Address插件对此非常有用。

http://www.asual.com/jquery/address/

使用HTML5是可能的。 使用window.history.pushState()。

示例:

 if(currentHref!=window.location){ window.history.pushState({path:currentHref},'',currentHref); } 

详细信息和说明: http : //tinywall.info/2012/02/22/change-browser-url-without-page-reload-refresh-with-ajax-request-using-javascript-html5-history-api-php- jQuery的样Facebook的GitHub的导航菜单/