在express中访问req.body的简便方法?

时间:2020-09-08 05:29:41

标签: node.js

我只是要问:

是否有任何surefire方式始终可以获取nodejs / express中req.body中的数据?我真的很讨厌使用它(这与PHP中的$ _POST并不完全一样)。

谢谢。

2 个答案:

答案 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">

你应该没事。

相关问题