node express:app.get

时间:2016-11-08 10:27:17

标签: javascript node.js express

我正在使用node / express中的简单.get方法练习。我正在关注一本书的例子,但我没有会话变量而且我没有模板;所以我评论说我用一个简单的.send方法取代了它们,并且用一个简单的硬编码变量替换了它:授权。

我收到错误:ReferenceError: res is not defined

问题是我没有res变量,因为控件首先在授权函数上传递。

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');
});

1 个答案:

答案 0 :(得分:0)

感谢评论,解决方案是:

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( req, res ){
    // res.render('secret');
    res.send('secret');
});
app.get('/sub-rosa', authorize, function( req, res ){
    // res.render('sub-rosa');
    res.send('sub-rosa');
});