2011-08-16 33 views
14

Estoy construyendo un carrito de compras usando backbone.js. Cuando alguien hace clic en 'agregar al carrito' estoy haciendo una llamada ajax usando jQuery. Backend es rails. En respuesta, obtengo el nuevo valor json para el carrito. Sin embargo, si visualizo la vista de carro, aparece la vista de carro, sin embargo, la url no cambia.Cómo cambiar la página url

para realizar el cambio de URL que después de recibir la respuesta de jQuery que tengo que hacer algo para que el router llama la nueva URL y las cosas proceden de allí.

¿Cómo puedo navegar hasta la url #cart?

Respuesta

25

Puede actualizar la URL llamando al método de navegar en el router, de esta manera:

router.navigate('cart'); 
+1

Asegúrese de que leer en los routers, http://documentcloud.github.com/backbone/#Router "durante la carga de la página, después de que su solicitud haya terminado de crear todos sus routers, asegúrese de llamar Backbone.history.start(), o Backbone.history.start ({pushState: true}) para enrutar la URL inicial. " –

+9

asegúrese de ejecutar 'router.navigate ('cart', {trigger: true, replace: true});' si desea que ejecute la función de ruta y reemplace la URL. (opción de disparo para la función y opción de reemplazo para el reemplazo de la URL) –

10

Lo más probable es que su visión no tiene acceso al router se puede hacer esto:

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


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