在html5mode angularjs中注销网址?

时间:2013-08-20 19:07:51

标签: javascript angularjs express

所以现在我配置了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中不起作用。谢谢!

1 个答案:

答案 0 :(得分:11)

将target =“_ self”添加到链接中,如下所示:

<a href="/logout" target="_self">Logout</a>

AngularJS忽略具有目标属性的链接。这在此处记录:HTML link rewriting(搜索_self)。