2013-07-19 20 views
0

我正在尝试为我的Backbone/NodeJS应用程序实现pushstate。如果我在浏览器本身内部转到以下路线/testRoute/123,则从另一个视图中,将相关视图加载到/testRoute/123Backbone PushState正在返回原始JSON数据

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

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

回答

0

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

这在Backbone documentation指出:

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