Javascript 提出请求后问题
我正试图打印从尸体上收到的数据,但还没有工作。这是我的尝试Javascript 提出请求后问题,javascript,node.js,reactjs,Javascript,Node.js,Reactjs,我正试图打印从尸体上收到的数据,但还没有工作。这是我的尝试 router.post('/api/main',(req,res) => { if(req.error){ res.status(400).send(error.details[0].message); return; } res.send(req.body.message) }) 在邮递员身上,我发出如下请求:localhost:5000/api/main/ 正文如下所示:JSON { "m
router.post('/api/main',(req,res) => {
if(req.error){
res.status(400).send(error.details[0].message);
return;
}
res.send(req.body.message)
})
在邮递员身上,我发出如下请求:localhost:5000/api/main/
正文如下所示:JSON
{
"message": "hello"
}
然而,我得到了这样的回应
{
"success": false,
"msg": {}
}
我遗漏了什么在您的post路由器上添加为中间件
下面是设置身体解析器中间件的正确方法
router.use(bodyParser.urlencoded({extended: true});
router.post('/api/main', (req, res) ...)
您可能还希望在索引文件中使用
bodyParser.json()
,在使用任何路由器之前,添加app.use(bodyParser.urlEncoded({extended:true})) 作为var bodyParser=require('body-parser')安装并添加了body parser
但同样的错误您还需要将bodyParser设置为中间件,而不仅仅是将其包含在脚本中router.post('/api/main',bodyParser.json(),(req,res)…)
bodyParser中间件中可以使用几种方法,这只是一个示例。您应该使用的中间件类型取决于您希望如何转换响应体。例如,bodyParser.urlEncoded({extended:true})
通常用于接收表单请求等。请尝试阅读bodyParser文档-:现在,当我执行console.log(req.body)时,我得到了未定义的消息,可能是因为任何原因,您的post请求实际上没有通过。您是否尝试过console.logging请求主体以查看是否实际收到任何内容?当我尝试console.Log时,它表示未定义。您可以将服务器(或应用程序)代码粘贴到安装路由器的位置吗