0

我正在尝试为我的 Backbone/NodeJS 应用程序实现 pushstate。如果我在浏览器本身内转到以下路线/testRoute/123,则从另一个视图中/testRoute/123加载关联的视图。

但是,如果我在地址栏中手动输入/testRoute/123,浏览器会为 ID 为“123”的对象返回原始 JSON 提要。

手动输入 URL 时如何强制 Backbone 加载视图?

4

2 回答 2

0

如果@idbehold 的回答不够具体,这里是对同一问题的更详细的回答

我强烈建议查看响应底部的那些链接,因为它们正是我在面临同样的麻烦时所寻找的......

于 2013-08-19T22:05:43.623 回答
0

这不是 Backbone 可以做的(这就是为什么 pushState 默认是禁用的)。您必须设置服务器以将这些请求重定向到根目录,以便您的 HTML 加载并且 Backbone 可以处理路由。

这在Backbone 文档中有所说明:

请注意,使用真实 URL 需要您的 Web 服务器能够正确呈现这些页面,因此还需要进行后端更改。例如,如果您有 /documents/100 的路由,如果浏览器直接访问该 URL,则您的 Web 服务器必须能够提供该页面。对于完整的搜索引擎可抓取性,最好让服务器为页面生成完整的 HTML ......但如果它是一个 Web 应用程序,只需呈现与根 URL 相同的内容,然后用 Backbone 填充其余内容视图和 JavaScript 工作正常。

于 2013-07-19T19:40:09.627 回答