javascript - Node.js express - POST 请求的主体始终为空
问题描述
我正在尝试使用 Node.JS 框架中的 Express 读取 POST 请求的正文。我使用 HTML 表单发送 HTTP POST 请求。我在 WireShark 上检测到带有以下数据的 POST 请求:
这说明请求发送成功。我期待 JSON 格式,这是 Express 为我成功解析的格式,但无论我尝试什么,这种格式似乎都不起作用。我目前的实现是这样的:
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
var jsonParser = bodyParser.json()
//Import static files
app.use(express.static('../public'))
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.post('/', jsonParser, (req, res) => {
console.log(req.body);
res.send(200);
});
app.listen(port, () => console.log("Server started"));
无论我从其他帖子中尝试什么,它似乎仍然没有返回任何数据。
有谁知道如何解决这个问题?
解决方案
为什么要在应用程序路由中使用“jsonParser”?尝试类似:
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.urlencoded({ extended: true }));
app.post('/post-test', (req, res) => {
console.log('Got body:', req.body);
res.sendStatus(200);
});
推荐阅读
- javascript - net::ERR_CONNECTION_RESET, Uncaught (in promise) TypeError: Failed to fetch
- mongodb - 使用 mgo.v2 和 MongoDB > 4.2 在 MongoDB 中进行高效分页
- python - 如何使用 python xmlrpc 更改 wordpress 中的帖子状态
- javascript - Atom 或括号代码选择突出显示,如 vscode
- c# - 如何使用 C# ASP.Net 从 XML 文档中获取特定 XML 元素的列表?
- python - Python Sockets:发送数据,然后接收响应,最后发送确认
- android - 检测 WebView 中的 URL 何时更改 - Xamarin
- java - 潜水分数数组程序
- python - 替换 Xarray.DataArray 中的唯一值
- linux - 如何知道我使用的 conda 解释器输出混乱?