0
我在node/express中使用简单的.get方法来练习。我正在关注一本书的例子,但我没有会话变量,也没有模板;所以我已经评论过这些行,并且我已经用一个简单的.send方法替换了它们,并且我用一个简单的硬编码变量代替了它:授权。node express:app.get中的模拟授权函数
,我发现了错误:ReferenceError: res is not defined
的问题是,我没有水库的变量,因为控制第一遍上的授权功能。
function authorize(req, res, next){
authorized = true;
// if(req.session.authorized) return next();
if(authorized) return next();
res.send('not-authorized');
}
app.get('/secret', authorize, function(){
// res.render('secret');
res.send('secret');
});
app.get('/sub-rosa', authorize, function(){
// res.render('sub-rosa');
res.send('sub-rosa');
});
你可能需要'函数(REQ,RES){',而不是'函数(){'在这两种情况下。 –
感谢它的作品,但我可以在路径后添加多少个函数(req,res)?我没有找到app.get的文档,它是express或node语法? – stackdave
@stackdave你可以添加任意数量的它们。 'app.get('/ my/path',handler1,handler2,handlerArray,function(req,res,next){next()},function(req,res){})''。只要确保所有的处理程序都有3个参数 - “(req,res,next)',除了最后一个,不需要'next'。 – hlfrmn