0

想象一下我在:

http://example.com/

我单击包含 hashbang片段标识符的链接,假设:

http://example.com/#!/login

我希望它在不重新加载页面的情况下显示登录表单。这是怎么做到的?

4

2 回答 2

2

看看jQuery Ajax以了解如何在不刷新页面的情况下加载新内容,然后可能会继续使用BackboneJS并使用它的路由器来让哈希工作正常工作。

编辑:

这是一个教程,我不会为你写一个。但归根结底是拥有一个能够为您提供所需内容的服务器端(登录表单),无论是异步还是同步都不是重点。然后使用一个 Backbone Router 读取 hash bang 并根据这个 hash bang 调用正确的 JavaScript 函数,这个 JavaScript 函数应该存在于一个 Backbone 控制器中,它应该处理一个新的 Backbone 视图的实例化并将其添加到 DOM . 可以将 Backbone 视图添加到预定义的 Backbone 区域,并且可以加载UnderscoreJS模板以使事情变得更容易。

于 2013-04-28T22:45:58.073 回答
0

如果您想要一个更简单的解决方案,您应该在这里查看另一个简洁的答案:Handle URL anchor change event in js。总之,您定期检查window.location.hash更改并运行您的 javascript 以显示登录内容。

于 2013-10-29T01:28:30.483 回答