更改页面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插件对此非常有用。
使用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的导航菜单/