2017-04-17 8 views
-1

私はnext()関数を呼び出すPOSTメソッドを持っていますが、resプロパティにアクセスしようとするとundefinedと表示されます。私は印刷する場合:reqプロパティがnullです。

console.log(res) 

を私は必要なプロパティを参照してくださいが、それらにアクセスしようとするいくつかの理由でundefinedを返すことができます。 これは私のコードです:

app.post('/login', [function(req, res, next){ 

req.ID = "hello, world" 
next(); 

}, function(req, res){ 

    console.log(res) //I can see res.ID I am trying to access in the log 
    console.log(res.ID) //undefined 
}) 

私が持っている:私のファイルの最上部にある

app.use(bodyParser.urlencoded({ extended: true })); 
app.use(bodyParser.json()); 

を。

答えて

0

あなたが提供したコードに基づいて、ログインミドルウェアを定義した配列を閉じなかった文法上の誤りがあります。

読みやすさとモジュール性を向上させるために、ミドルウェアを関数に移動して、関数リファレンスをExpressルート定義に渡すことをお勧めします。

function loginMiddleware (req, res, next) { 
    req.ID = 'Hello World' 

    return next() 
} 

app.post('/login', loginMiddleware, (req, res) => { 
    console.log(req.ID) // logs 'Hello World' 
}) 
関連する問題