2011-08-16 39 views
14

Tôi đang xây dựng một giỏ mua hàng bằng cách sử dụng backbone.js. Khi một số người nhấp vào 'thêm vào giỏ hàng' Tôi đang thực hiện cuộc gọi ajax bằng jQuery. Backend là đường ray. Đáp lại tôi nhận được giá trị json mới cho giỏ hàng. Tuy nhiên, nếu tôi hiển thị chế độ xem giỏ hàng thì chế độ xem xe sẽ xuất hiện, tuy nhiên url không thay đổi.Cách thay đổi url trang

Để thực hiện thay đổi url, sau khi nhận được phản hồi từ jQuery, tôi cần phải thực hiện điều gì đó để router bắt được url mới và mọi thứ tiến hành từ đó.

Làm cách nào để điều hướng đến địa chỉ #cart?

Trả lời

25

Bạn có thể cập nhật các URL bằng cách gọi phương pháp điều hướng trên router của bạn, như thế này:

router.navigate('cart'); 
+1

Đảm bảo đọc trên các bộ định tuyến, http://documentcloud.github.com/backbone/#Router "Trong khi tải trang, sau khi ứng dụng của bạn đã hoàn tất việc tạo tất cả các bộ định tuyến của nó, hãy nhớ gọi Backbone.history.start(), hoặc Backbone.history.start ({pushState: true}) để định tuyến URL ban đầu. " –

+9

hãy chắc chắn chạy 'router.navigate ('cart', {trigger: true, replace: true});' nếu bạn muốn nó chạy hàm tuyến đường và thay thế URL. (tùy chọn kích hoạt cho hàm và thay thế tùy chọn để thay thế URL) –

10

Nhiều khả năng nhìn của bạn không có quyền truy cập vào router bạn có thể làm điều này:

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


Backbone.history.navigate('cart');     // only url is updated 
Các vấn đề liên quan