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