簡體   English   中英

req.body 在 POST 請求中是 NULL {}

[英]req.body is NULL {} on POST request

編碼

根據來自 POSTMAN 的發布請求,req.body 正在發送數據,但在提交表單時返回 { }。

這是我用作中間件的,

app.use(bodyParser.json());

app.use(bodyParser.urlencoded({ extended: false}));

但是bodyParser這個詞標有消息'bodyparser is deprecated'.ts(6385),該聲明在此處被標記為已棄用。

我嘗試使用,

app.use(express.json());

app.use(express.urlencoded({ extended: false}));

但它仍然在 req.body 上返回 { }

正文解析器圖像以及閃爍的消息

您確定在發送 POST 請求時使用了正確的標頭嗎?

對於.json()解析,您的標頭應包含: Content-Type: application/json

對於urlencoded()表單數據解析,您的標頭應包含: Content-Type: application/x-www-form-urlencoded

您還可以分享您的 Postman 請求的 CURL 嗎?

在注冊依賴項時請參閱編碼行,如果您注冊 express json,那應該在您的路線之前,所以它看起來像:

const express = require('express');
const app = express();

// middleware registered here
app.use(express.json());

// then your route
app.post('/someroute', async (req,res,next) => {
  const { param1, param2 } = req.body;
  try {
    console.log(`${param1} and ${param2} written in terminal);
    res.send('ok');
  } catch (err) {
    res.send('oopps');
  }
})

暫無
暫無

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

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