从中间件通过 req.body 传递变量

Passing a variable through req.body from middleware

本文关键字:变量 body req 中间件      更新时间:2023-09-26

我有一个中间件定义如下

app.use('api/', authenticate, bar);

在身份验证函数中,我在req.body中附加了一个变量,例如

req.body.user = foo;

但是当我在酒吧里做console.log(req.body.user)时;我发现undefined.但是,如果我像req.user = foo一样附加变量,然后在bar函数中,我会执行一个console.log(req.user)它成功地打印foo。附加的变量 req.body 有什么原因在途中丢失附加到它的东西吗?

工作得很好...

var express = require('express');
var app = express();
var bodyParser = require('body-parser');
app.use(bodyParser.json()); // for parsing application/json
app.use('*', function(req, res, next){
    console.log("Middlewarez");
    req.body.user = { name: "John", last: "Smith" }
    next();
}, function(req, res){
    console.log("Handler")
    console.log(req.body);       // => { user: { name: 'John', last: 'Smith' } }
    res.end("Done");
})
app.listen(8080);

也许您没有使用正文解析器?