0
私はnode/expressの簡単な.getメソッドで練習しています。私は本の例に従っていますが、セッション変数はなく、テンプレートはありません。だから私はその行をコメントして、私は単純な.sendメソッドでそれらを置き換え、単純なハードコード変数に置き換えました:権限。ノードエクスプレス:app.getのモックオーサライズ機能
私はエラーを取得しています: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');
});
あなたはおそらく '関数(REQ、RES){'の代わりに '関数(の){'両方のケースで必要になります。 –
ありがとうございますが、パスの後ろに何個の関数(req、res)を追加できますか?私はapp.getのためのドキュメンテーションを見つけられませんでした、それは明示的またはノード構文ですか? – stackdave
@stackdave任意の数を追加できます。 'app.get( '/ my/path'、handler1、handler2、handlerArray、function(req、res、next){next()}、function(req、res){})'を呼び出します。すべてのハンドラに3つのパラメータ、 '(req、res、next)'があることを確認してください。ただし、最後のものを除き、 'next'は必要ありません。 – hlfrmn