2011-08-16 76 views
14

我正在使用backbone.js構建購物車。當有人點擊'添加到購物車'時,我正在使用jQuery進行ajax調用。後端是軌道。作爲迴應,我得到了購物車的新json值。但是,如果我顯示購物車視圖然後汽車視圖出現,但URL不會更改。如何更改頁面網址

爲了使URL更改我收到來自jQuery的響應後,我需要做的事情,讓路由器捕捉新的網址,並從那裏繼續下去。

如何導航到#cart的網址?

回答

25

您可以通過調用路由器上的導航方法,這樣的更新網址:

router.navigate('cart'); 
+1

確保在路由器上閱讀,http://documentcloud.github.com/backbone/#Router「在頁面加載過程中,在您的應用程序創建完所有路由器之後,一定要調用Backbone.history.start(),或Backbone.history.start({pushState:true})來路由初始URL。「 –

+9

請務必運行'router.navigate('cart',{trigger:true,replace:true});'如果您希望它運行路由功能並替換URL。 (觸發功能的選項和替換URL的替換選項) –

10

最有可能您的視圖沒有對路由器的訪問,你可以這樣做:

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


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