我只是要问:
是否有任何surefire方式始终可以获取nodejs / express中req.body中的数据?我真的很讨厌使用它(这与PHP中的$ _POST并不完全一样)。
谢谢。
答案 0 :(得分:0)
只需添加app.use(express.json());
现在,您无需任何外部程序包就可以始终访问req.body,但是请确保您拥有一个后路由处理程序来访问它(即数据应该发送到您的节点/表达式)
查看more
const express = require('express')
const app = express()
app.use(express.json())
app.post(
'/test',
(req, res) => res.json(req.body)
)
const PORT = process.env.PORT || 3000
app.listen(PORT, () => {
console.log(`Server listening on port ${PORT}`)
})
OR
如果仍然无法解决,则问题出在前端,请确保您的表单和输入(正在输入用户输入的位置),对于 FORM TAG AND INPUT,应分别为post and text
TAG
答案 1 :(得分:0)
问题不在于正文解析器。正如您在评论中所解释的
使用图像作为/ submitPlayer时出现问题 提交按钮[...]
您正在使用图像输入提交表单,即
<form action="/submitPlayer" method="POST">
<input type="image" height="<%= playerOneImgHeight %>px" width="<%= newImgWidth %>px" src="<%= playerOneImage %>" name="playerName" value="<%= playerOneIsWinnerArray %>">
input type="image"
会将图像设置为“提交”按钮,而不是一个可以将值传送到服务器的输入字段(您实际上提交的是空表格,因此req.body
为空)。修改表格并添加您要使用的发送数据,例如
<input type="text" id="tbd" name="tbd">
你应该没事。