[英]requested route undefined in NodeJs / Express
我想检查用户是否被授权。 如果不是,则要呈现的模板应该是我的登录视图。 在我的app.js
我需要我的router.js
require('./server/router')(app);
我的路由器文件处理了不同的路由。
module.exports = function(app){
app.use(function(req, res, next) {
if(req.route != '/login'){ // the url is not the login page
var session = req.session;
if (session.user == null){ // the user is not authorized
res.render('login', {
showHeader: false
});
} else { // check the next route
next();
}
} else { // check the next route
next();
}
});
app.use('/route1', require('./routes/route1'));
app.use('/route2', require('./routes/route2'));
app.use('/route3', require('./routes/route3'));
app.use(function(req, res, next) { // no valid route was found
res.render('notFound', {
showHeader: false
});
});
};
我的if语句if(req.route != '/login')
始终为true,因为req.route
始终返回undefined
。
这里有什么问题或遗漏?
假设您的网址为http:// localhost / example / login
req.baseUrl
会得到'/ login'
以及url是否类似于http:// localhost / example / admin / login
req.originalUrl
将获得'/ admin / login'
req.path
会得到'/ login'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.