javascript - 如何从 Get Request In Express 中获取正文?
问题描述
当我尝试执行此操作时,我的代码返回无效文本。
app.post("/charge", (req, res) => {
console.log(req.body)
})
解决方案
正如req.body的文档所说:
req.body
包含在请求正文中提交的数据键值对。默认情况下,它是未定义的,并且在您使用主体解析中间件(如express.json()
or )时填充express.urlencoded()
。以下示例展示了如何使用正文解析中间件来填充 req.body。
默认情况下,请求的主体还没有从传入的流中读取,因此它还没有被解析成req.body
任何一个。要将其读取并解析为req.body
,您必须使用一些适当的中间件来为您完成此操作(或者您可以自己手动完成,但通常使用预先编写的中间件为您完成这项工作更容易)。
使用哪个中间件取决于正文中数据的类型(urlEncoded 数据、JSON 数据或其他)。
这是文档中的示例:
var express = require('express')
var app = express()
app.use(express.json()) // for parsing application/json
app.use(express.urlencoded({ extended: true })) // for parsing application/x-www-form-urlencoded
app.post('/profile', function (req, res, next) {
console.log(req.body)
res.json(req.body)
})
推荐阅读
- vb.net - 如何使用 VB.NET 将文件添加到 Google Drive 的子文件夹
- java - 带有 Java 的拼写检查器,必须打印出特定的行
- javascript - v-on 处理程序中的错误:“TypeError:无法读取属性‘emit’ of null
- javascript - 以编程方式样式化元素
- c# - 基于 Vector3 moveDirection 旋转字符
- c++ - 无法获取到小部件组件 UE4 的链接
- mysql - innodb_sys_tables 中的 MYSQL 表分区阻止 aws 升级
- javascript - 节点服务器端口在开发过程中不断“插入”
- apache-spark - 通过将其转换为列表来根据另一个数据框列过滤火花数据框
- python - 如何让我的网站在每次有人访问或每隔几分钟重新运行一些 python 烧瓶代码?