我在写一个AJAX应用程序,但随着用户通过应用程序,我希望地址栏中的URL更新,尽管缺乏页面重新加载。基本上,我想让他们能够在任何时候进行书签,从而回到当前状态。
人们如何处理在AJAX应用程序中维护RESTfulness?
做到这一点的方法是操纵location.hash当AJAX更新导致状态更改,你想有一个谨慎的URL。例如,如果您的网页网址是:
原文链接:https://www.f2er.com/ajax/161226.html07000
// AJAX code to display the "foo" state goes here. location.hash = 'foo';
然后,浏览器中显示的网址将更新为:
07001
这允许用户将页面的“foo”状态添加为书签,并使用浏览器历史记录在状态之间导航。
使用这种机制,您需要使用JavaScript解析客户端URL的哈希部分,以创建和显示适当的初始状态,因为片段标识符(#之后的部分)不会发送到服务器。
Ben Alman’s hashchange plugin使后者是一个微风如果你使用jQuery。