我想直接从nodejs访问angular ui路由 我在ui路由器中设置了以下状态
app.js
.state('video', {
url: '/video/:patientId',
templateUrl: 'app/modules/patient/views/video.html'
})
我是tryig,可以直接从节点控制器访问它
app.controller.js
var token = '';
router.use('/', function (req, res, next)
{
if(req.query.token!==undefined && req.session.token==undefined){
var returnUrl = '/app/#/video/'+req.query.token;
token=req.query.token;
return res.redirect(returnUrl);
}
if(req.session.token==undefined && token ==''){
return res.redirect('/index.html');
}
next();
});
// serve angular app files from the '/app' route
router.use('/', express.static('app'));
但是我无法访问它,两次重定向到“ / app”并加载index.html
在服务器中,我具有以下配置,
// routes
app.use('/login', require('./controllers/login.controller'));
app.use('/app', require('./controllers/app.controller'));
// make '/app' default route
app.get('/', function (req, res) {
return res.redirect('/app');
});
在上述配置中,如果我用url击中
“ http://localhost:8181/app/#/video/rserser”我这样重定向
“ http://localhost:8181/index.html/video/rserser”
但想直接在此URL上访问ui路由 “ http://localhost:8181/app/#/video/rserser”。
我无法直接访问它,因此尝试使用以下网址通过上述配置进行访问 “ http://localhost:8181/app/video?token=test” 在此之后,我确实被重定向到所需状态, 但是如果我点击网址
它不是重定向到index.html,而是重定向到angulars默认路由,因为在重定向到angulars路由后,我无法在节点控制器中重置var令牌。