在html5mode angularjs中注销网址?

Dre*_*w H 5 javascript express angularjs

所以现在我配置了html5mode.

    $locationProvider.html5Mode(true);
    $locationProvider.hashPrefix('!');
Run Code Online (Sandbox Code Playgroud)

这是我的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
    });
});
Run Code Online (Sandbox Code Playgroud)

我的所有网址都在Chrome和Firefox 3.6中运行良好(我用它来测试hashbang后备).

我唯一的问题是登出路线.我的注销是服务器交互.所以我这样做了.

    $rootScope.logout = function () {
        window.location = '/logout';
    };
Run Code Online (Sandbox Code Playgroud)

并点击了这个功能,这对于在Chrome中注销非常有用.我将如何在hashbang回退模式下执行此操作?它在Firefox 3.6中不起作用.谢谢!

Max*_*nce 11

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

<a href="/logout" target="_self">Logout</a>
Run Code Online (Sandbox Code Playgroud)

AngularJS忽略具有目标属性的链接.这里记录了:HTML链接重写(搜索_self).