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

标签 javascript node.js express middleware

我有一个定义如下的中间件

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/

相关文章:

javascript - 如何在jquery中获取attr值

javascript - 如何发送HTTP请求以在node.js中提交表单到另一个网站?

node.js - `npm install mongodb` 出现错误

javascript - Node Express - 路由路径冒号参数异常

javascript - 使用 CSS3 在加载时触发弹出窗口

javascript - 需要帮助在流程图中显示并排条形图

javascript - 如何在 jquery/javascript 中剪切包含 "map"的字符串

javascript - 使用 Nodejs 提供图像

node.js - 在 Express 中获取 POST 和 GET 请求的表单数据

javascript - 问题将 Jade 转换为 Handlebars