3 回答
TA贡献1842条经验 获得超13个赞
默认情况下,Express 不会处理请求的正文。您需要加载一个模块才能显式执行此操作。
由于您使用的是纯文本,因此您可以使用 body-parser 模块。这将body在请求上创建一个属性:
const bodyParser = require('body-parser');
router.use(bodyParser.text({type: 'text/plain'}))
router.post('/posts/:id', function(req, res, next) {
console.log(req.body);
res.send('Response')
});
但是请注意,通常最好使用结构化数据格式(如 JSON)而不是纯文本。
TA贡献1793条经验 获得超6个赞
尝试以下操作:
在 server.js 文件中使用正文解析器。
发送POST请求作为
content-type为json如下,headers: { Content-Type: application/json }
和 body 应该是一个 JSON
body: {"color":"ORANGE"}
在您的路线中只需打印
console.log(req.body.color)
TA贡献1797条经验 获得超6个赞
在 Express 4.16 中,不再需要 body-parser 模块。获得身体所需要的只是:
app.use(express.urlencoded({ extended: true }));
app.use(express.json());
"Content-type": "application/x-www-form-urlencoded"在 fetch 中使用,否则 CORS 会发送预检并给您带来困难。(有关此 google CORS 简单请求要求的更多信息)。
添加回答
举报
