我无法在 Node.js 中获取正文格式的请求

Posted

技术标签:

【中文标题】我无法在 Node.js 中获取正文格式的请求【英文标题】:I can not get request in body format in Node.js 【发布时间】:2022-01-17 23:12:08 【问题描述】:

我在服务器上接收正文格式的请求时遇到问题。

我正在使用 Express 版本 4.17.1。 文档表明我不必使用 body-parserer,但我可以直接使用 express功能“express.json ()”

但是,我一直试图让它工作很长时间,但没有任何反应:控制台没有显示任何内容。它似乎根本无法识别该请求。

我正在以正文格式 JSON 处理来自 Postman 的所有请求。

这是我的代码:

const express = require("express");
const formidable = require("express-formidable");
const cors = require("cors");
const dotenv = require("dotenv").config();

const app = express();
app.use(express.urlencoded( extended: true ));
app.use(express.json());
app.use(formidable());
app.use(cors());

(...)

app.post("/list", async (req, res) => 
  try 
    console.log(req.body);
   catch (error) 
    return res.status(400).json( message: error.message );
  
);

我做错了什么?

非常感谢您的宝贵时间和提前帮助。

【问题讨论】:

问题可能出在从另一端发出请求的代码中,特别是它可能没有正确设置请求的Content-Type。请出示该代码。 【参考方案1】:

根据Content-Type标头中定义的类型快速解析请求正文。尝试使用标头Content-Type: application/json 进行请求。

【讨论】:

以上是关于我无法在 Node.js 中获取正文格式的请求的主要内容,如果未能解决你的问题,请参考以下文章

无论如何,我可以在 node.js 中获取 html 正文

Node.js POST API 和请求正文的解析

如何提取正文请求 node.js

node.js 路由验证 json 正文

无法在 Node.js res.body 中获取 $http.post 请求数据

如何从 Node.js IMAP 模块中的正文获取纯文本