Backbone pushState返回原始JSON数据

时间:2013-07-19 19:01:45

标签: json node.js backbone.js

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

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

如何在手动输入网址时强制Backbone加载视图?

2 个答案:

答案 0 :(得分:0)

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

这在Backbone documentation

中说明
  

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

答案 1 :(得分:0)

如果@ idbehold的答案不够具体,here's a more detailed response to the same question

我强烈建议在回复的底部查看这些链接,因为它们正是我在面对同样麻烦时所寻找的......