我想重定向到另一条路线,并且必须刷新页面并在服务器端进行处理,所以$location.path(url)
无法帮助我。我试过了window.location(url)
,但我有这个错误:window.location is not a function
我的 app.js:
'use strict';
var app = angular.module('myApp', []).
config(['$routeProvider', '$locationProvider', function($routeProvider, $locationProvider) {
$routeProvider.when('/', {
templateUrl: 'partials/index'});
$routeProvider.when('/logout', {
controller: 'logoutCtrl'});
$routeProvider.otherwise({
redirectTo: '/'});
$locationProvider.html5Mode(true);
}]);
我的注销Ctrl:
function logoutCtrl($scope, $location){
$apply(function() {
$location.path("/users/logout");
});
}
部分/索引包含此链接:
a(href='/logout') Logout
现在我将展示如何使用 Express.js 管理我的路由服务器端:
app.get('/', ctrl.index);
app.get('/partials/:name', ctrl.partials);
app.get('/users/logout', ctrl.logout);
exports.logout = function(req, res)
{
console.log('logout');
req.session.destroy(function(err){ // I destroy my session
res.redirect('/'); // redirection to '/'
});
}
现在,当我单击“注销”时,什么也没有发生,我只是localhost:3000/logout
在我的栏中看到这条路线,但是如果我键入localhost:3000/users/logout
我会得到预期的结果(会话被破坏并重定向到 '/' )