Vì vậy, ngay bây giờ tôi đã cấu hình html5mode.Url đăng xuất trong html5mode angularjs?
$locationProvider.html5Mode(true);
$locationProvider.hashPrefix('!');
Đây là kết thúc của middelware tôi cho nhanh để hỗ trợ html5mode
app.use(function (req, res) {
if (!req.path.match('/calendar|/user|/create|/profile')) {
return res.send(404);
}
res.render('home/index', {
currentUser: req.user
});
});
Và tất cả các url của tôi đang làm việc tốt trong Chrome và Firefox 3.6 (mà tôi đang sử dụng để kiểm tra dự phòng hashbang).
Vấn đề duy nhất của tôi là với tuyến đăng xuất. Đăng xuất của tôi là tương tác với máy chủ. Vì vậy, tôi đã làm điều này.
$rootScope.logout = function() {
window.location = '/logout';
};
Và tạo một cú nhấp chuột vào chức năng này và hoạt động để đăng xuất trong Chrome. Làm thế nào tôi sẽ làm điều này trong chế độ dự phòng hashbang? Nó không hoạt động trong Firefox 3.6. Cảm ơn!
Bạn có thể thử '$ location.url ('/ logout')' – zsong
Đó là điều đầu tiên tôi đã thử. Không hoạt động trong hoặc ngoài html5mode –
Vâng, tôi nghĩ bạn có thể phát hiện trình duyệt để xem liệu trình duyệt có hỗ trợ pushState hay không. Nếu không thì hãy thêm '#!' Theo cách thủ công. :) – zsong