node.js - 节点 express req.body 返回空 obj
问题描述
这是我在客户端的获取请求
let data = JSON.stringify({
"username": "test",
"password": "test"
});
let response = await fetch("http://localhost:5050/api/login", {
method: 'post',
body: data
})
在节点服务器中,这就是我登录的内容
app.use(bodyParser.json())
app.use(bodyParser.urlencoded({extended: false}))
app.use(express.json());
app.use(cors())
router.post('/login', function(req, res) {
console.log(req.body) // Returns {}
res.json(JSON.stringify({success: "qwer123qwer324135142534123qwerqwersfg"}));
})
而打印req.body
返回{}
。谁能知道如何解决它?
更新
我用邮递员尝试了同样的事情。它在节点服务器中打印正确的对象。但是,当只使用 fetch 时它失败了。
包.json
"dependencies": {
"body-parser": "^1.19.0",
"cors": "^2.8.5",
"express": "^4.17.1",
"mongoose": "~3.6.13"
}
解决方案
您需要使用中间件来解析正文:
在您的应用中添加:
app.use(express.json());
推荐阅读
- swift4.2 - iOS 12 存在(fromrootviewcontroller)导致应用程序冻结
- python - 为什么 pd.Series([np.nan]) | pd.Series([True]) 评估为 False?
- javascript - 从php返回数组值(图像文件名到javascript)
- python - 如何最有效地计算矩阵乘积的对角线
- python - ruamel.yaml 倾倒浮动时的奇怪行为
- c++ - (C++)处理链表时返回-1073741819(0xC0000005),但算法有效
- ros - 大型室内凉亭环境
- python - 经过多次训练后,TF 2.x 中的 CuDNN 崩溃
- javascript - 尝试使用 React 单击提交时添加一些文本
- java - 这些循环听起来是否正确,或者我应该切换到 for 或 while 循环?