簡體   English   中英

使用 express 和 fetch 獲取 POST 請求正文

[英]Get POST request body with express and fetch

我是服務器端開發的新手。

我正在嘗試設置一個可以接收帖子的 node.js 服務器。

我的客戶端-服務器代碼發送 post 請求:

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);
})

但是,我的服務器控制台記錄了所有undefined

我應該怎么做才能收到我的 POST 請求正文?

嘗試在應用程序中設置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);
});

在處理發布請求之前添加它。

app.use(require('body-parser').json());

body-parser 所做的是,它將我們傳遞給 API 的所有信息添加到“request.body”object。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM