Javascript Node.js express-POST请求正文始终为空

Javascript Node.js express-POST请求正文始终为空,javascript,html,node.js,express,post,Javascript,Html,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 =

我正在尝试使用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);
});

您的请求主体是url表单编码的,而不是JSON编码的。