我有一个定义如下的中间件
app.use('api/', authenticate, bar);
在 authenticate 函数中,我在 req.body
中附加了一个变量,比如
req.body.user = foo;
但是当我在 bar 中执行 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);
也许您没有使用正文解析器?
关于javascript - 从中间件通过 req.body 传递变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36094863/