【发布时间】:2016-11-03 17:36:00
【问题描述】:
我正在尝试实现登录功能,并且使用 Express Router 成功/失败后有一个重定向:
router.post('/login',
passport.authenticate('local', {successRedirect:'/dashboard', failureRedirect:'/login',failureFlash: true}),
function(req, res) {
res.redirect('/');
});
成功登录后,我得到Cannot GET /dashboard 或在失败的情况下Cannot GET /login。
服务器(Express)和客户端(Angular UI Router)上的路由之间是否存在一些不兼容?我应该只使用其中一个路由器吗?
这是 UI Router 的代码:
angular
.module('app', [
'ngAnimate',
'ngAria',
'ngCookies',
'ngResource',
'ngTouch'
])
.config( function ($stateProvider, $urlRouterProvider, $locationProvider){
$stateProvider
.state('login', {
url: '/login',
templateUrl: 'views/login.html',
controller: 'LoginCtrl'
})
.state('home', {
url: '',
templateUrl: 'views/home.html',
controller: 'HomeCtrl'
})
.state('home.dashboard', {
abstract: true,
url: '/dashboard',
templateUrl: 'views/dashboard.html'
});
// For any unmatched url, send to /
$urlRouterProvider.otherwise('/');
$mdGestureProvider.skipClickHijack();
//remove the hashtag from URL
$locationProvider.html5Mode({
enabled: true,
requireBase: false
});
});
【问题讨论】:
标签: angularjs express angular-ui-router passport.js