原因:express默认不会解析请求体
解决方案:
1:使用body-parse中间件
const express = require('express');
const bodyParser = require('body-parser'); // 确保已安装
const app = express();
// 必须在使用路由前添加这些中间件
app.use(bodyParser.json()); // 解析 application/json
app.use(bodyParser.urlencoded({ extended: true })); // 解析 application/x-www-form-urlencoded
// 然后才是你的路由
app.post('/test/page', (req, res) => {
console.log('req.body====>', req.body);
});
2:使用 Express 内置的解析器(Express 4.16+)
const express = require('express');
const app = express();
// 使用 Express 内置的 JSON 解析器
app.use(express.json());
// 使用 Express 内置的 URL-encoded 解析器
app.use(express.urlencoded({ extended: true }));
// 路由
app.post('/test/page', (req, res) => {
console.log(req.body);
});