javascript - req.body 给我 undefined
问题描述
我创建了一个具有以下代码的控制器:
app.post('/users', (req, res) => {
console.log(req.body);
const user = new User({
name: req.body.name,
email: req.body.email
});
user.save((err, user) => {
if (err)
console.error(err);
res.send(user);
});
})
我正在使用 Postman 通过/users
端点发布一个新条目,但每次我这样做时都会出错:TypeError: Cannot read property 'name' of undefined
. 正文发送:
{
"name": "Name",
"email": "example@gmail.com"
}
尝试调试它,我在控制台中打印了 req.body 的值,正如您在代码中实际看到的那样。它给了我undefined
。我想提一下,我确实将这些包含在app.js
Express CLI 生成的文件中:
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
可能是什么问题,我该如何解决?
提前致谢。
解决方案
您是否将正文解析器添加到 express 应用程序中?如果没有,请尝试使用正文解析器模块
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.json());
推荐阅读
- r - 根据列重复数据框的行
- selenium - 我们也可以将 JavascriptExecutor 用于 Appium 脚本吗?如果是,你能指导我吗?
- google-cloud-platform - 拥有一个没有数据的 Google Cloud Storage 存储桶的成本是多少?
- nativescript - 如何在 nativescript-angular 应用程序中动画模式弹出对话框组件打开和关闭?
- python - 在连接到亚马逊网络服务 s3 存储时,它会抛出错误“类型错误预期的字符串或类似对象的字节”
- python - 在类的构造函数中如何绑定用户提供的方法?
- python - Django 无法隐藏敏感变量
- android - BOOT_COMPLETED 不适用于华为设备
- ios - GoogleWebRTC 音频视频通话 iOS
- subquery - 如何使用 FROM 子句中的子查询优化 MariaDB 查询?