Warm tip: This article is reproduced from serverfault.com, please click

javascript-通过Express和Fetch获取POST请求正文

(javascript - Get POST request body with express and fetch)

发布于 2020-12-01 01:56:48

我是服务器端开发的新手。

我正在尝试设置一个可以接收帖子的node.js服务器。

我的客户-服务器代码发送了发帖请求:

function post(){
  fetch('/clicked', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({a: 1, b: 'Text'})
  })
    .then(function(response){
      if(response.ok){
        console.log('POST success.');
        return;
      }
      throw new Error('POST failed.');
    })
    .catch(function(error){
      console.log(error);
    });
}

我的Node.js服务器收到了它:

const express = require('express');
const app = express();
app.use(express.json());
app.post('/clicked', (req, res) => {
  console.log(req.a);
  console.log(req.b);
  console.log(req.body);
  res.sendStatus(201);
})

但是,我的服务器控制台记录了all undefined

我应该怎么做才能收到我的POST请求正文?

Questioner
Alex Coleman
Viewed
0
Harshana Serasinghe 2020-12-01 10:05:15

尝试express.json()在应用内进行设置

const express = require('express');
const app = express();
app.use(express.json()) 

app.post('/clicked', (req, res) => {
  console.log(req.a);
  console.log(req.b);
  console.log(req.body);
  res.sendStatus(201);
});