所以现在我配置了html5mode。
$locationProvider.html5Mode(true);
$locationProvider.hashPrefix('!');
这是我的middelware的结尾,表示支持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
});
});
我的所有网址都在Chrome和Firefox 3.6中运行良好(我用它来测试hashbang后备)。
我唯一的问题是登出路线。我的注销是服务器交互。所以我这样做了。
$rootScope.logout = function () {
window.location = '/logout';
};
点击此功能,可以在Chrome中注销。我将如何在hashbang回退模式下执行此操作?它在Firefox 3.6中不起作用。谢谢!
答案 0 :(得分:11)
将target =“_ self”添加到链接中,如下所示:
<a href="/logout" target="_self">Logout</a>
AngularJS忽略具有目标属性的链接。这在此处记录:HTML link rewriting(搜索_self)。