[英]Express post request body returns undefined and stores null values to MongoDB
[英]Express request body return null
我对express
POST
请求有疑问,
const express = require('express')
const app = express()
app.use(express.json())
app.use(express.urlencoded({extended: true}))
app.post('/movie/add', (req, res) => {
console.log(req.body) // {}
//
})
有人可以告诉我,为什么在发送一些数据后,例如:
{
"msg":"Hello"
}
然后我的req.body
返回我{}
? 他应该给我一个我的msg
值的 object 但我有一个空数组:/
谢谢你的帮助!
如果要使用请求正文,则需要做两件事。
1.in request header include Content-type application/json
2.在代码中使用中间件解析成json。 app.use(express.json());
Note use app.use(express.json()) before route declartion.
默认情况下,正文是未定义的 app.use(express.json()); 帮助您定义数据,而 content-type application/json 允许您传递 json。如果您没有包含 content-type application/json request.body 将返回定义空 object { }。
我认为你应该使用 body-parser http://expressjs.com/en/resources/middleware/body-parser.html
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.