Backbone.js 如何更改页面url

Backbone.js 如何更改页面url,backbone.js,Backbone.js,我正在使用backbone.js构建一个购物车。当有人单击“添加到购物车”时,我正在使用jQuery进行ajax调用。后端是rails。作为响应,我得到了购物车的新json值。但是,如果我显示cart视图,则会显示car视图,但是url不会更改 为了在收到jQuery的响应后更改url,我需要做一些事情,以便路由器捕捉到新的url并从那里开始 如何导航到#购物车url?您可以通过调用路由器上的导航方法来更新url,如下所示: router.navigate('cart'); 您的视图很可能无法

我正在使用backbone.js构建一个购物车。当有人单击“添加到购物车”时,我正在使用jQuery进行ajax调用。后端是rails。作为响应,我得到了购物车的新json值。但是,如果我显示cart视图,则会显示car视图,但是url不会更改

为了在收到jQuery的响应后更改url,我需要做一些事情,以便路由器捕捉到新的url并从那里开始


如何导航到
#购物车
url?

您可以通过调用路由器上的导航方法来更新url,如下所示:

router.navigate('cart');

您的视图很可能无法访问路由器,您可以执行以下操作:

Backbone.history.navigate('cart', {trigger:true});  // router handles view change


Backbone.history.navigate('cart');                  // only url is updated

确保在路由器上阅读,“在页面加载期间,在应用程序完成其所有路由器的创建后,确保调用Backbone.history.start()或Backbone.history.start({pushState:true})来路由初始URL。”确保运行
router.navigate('cart',{trigger:true,replace:true})如果希望它运行路由功能并替换URL。(函数的触发器选项和替换URL的替换选项)