2011-08-16 46 views
14

Buduję koszyk przy użyciu pliku backbone.js. Kiedy ktoś kliknie "dodaj do koszyka", wykonuję wywołanie ajax używając jQuery. Backend to szyny. W odpowiedzi otrzymuję nową wartość json dla koszyka. Jeśli jednak wyświetli się widok koszyka, pojawi się widok samochodu, ale adres URL się nie zmienia.Jak zmienić adres URL strony

Aby zmienić adres URL, po otrzymaniu odpowiedzi od jQuery, muszę coś zrobić, aby router przechwycił nowy adres URL, a wszystko zaczęło się od tego.

Jak przejść do adresu URL #cart?

Odpowiedz

25

Można zaktualizować URL poprzez wywołanie metody nawigacja na routerze, tak:

router.navigate('cart'); 
+1

Upewnij się, że czytasz routery, http://documentcloud.github.com/backbone/#Router "Podczas ładowania strony, po tym jak aplikacja zakończy tworzenie wszystkich swoich routerów, zadzwoń do Backbone.history.start(), lub Backbone.history.start ({pushState: true}) w celu kierowania początkowego adresu URL. " –

+9

należy uruchomić 'router.navigate ('cart', {trigger: true, replace: true});' jeśli chcesz uruchomić funkcję route i zamienić adres URL. (opcja wyzwalania dla funkcji i zamiana opcji na zastąpienie adresu URL) –

10

Najprawdopodobniej twój widok nie mają dostępu do routera można to zrobić:

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


Backbone.history.navigate('cart');     // only url is updated 
Powiązane problemy