小编典典

在AJAX应用中修改地址栏URL以匹配当前状态

ajax

我正在编写一个AJAX应用程序,但是当用户浏览该应用程序时,尽管没有页面重新加载,我还是希望地址栏中的URL能够更新。基本上,我希望他们能够在任何时候添加书签,从而返回到当前状态。

人们如何处理维护AJAX应用程序中的RESTful?


阅读 246

收藏
2020-07-26

共1个答案

小编典典

执行此操作的方法是location.hash在AJAX更新导致您希望使用离散URL的状态更改时进行操作。例如,如果您的页面网址是:

http://example.com/

如果客户端功能执行了以下代码:

// AJAX code to display the "foo" state goes here.

location.hash = 'foo';

然后,浏览器中显示的URL将更新为:

http://example.com/#foo

这使用户可以为页面的“ foo”状态添加书签,并使用浏览器历史记录在状态之间进行导航。

使用此机制后,您将需要使用JavaScript在客户端解析URL的哈希部分,以创建并显示适当的初始状态,因为片段标识符(#后面的部分)不会发送到服务器。

如果您使用的是jQuery,那么Ben
Alman的hashchange插件
使后者变得轻而易举。

2020-07-26