首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >POST req主体返回空数组

问POST req主体返回空数组
EN

Stack Overflow用户
提问于 2022-09-18 03:38:39
回答 2查看 48关注 0票数 -2

当在POSTMAN中发布一些数据时,我遇到了问题,我的问题是在" POST“方法/auth/ req.body返回空数组期间。只有当我使用带有使用表单数据的POST方法,如果我更改为xxx-www-form-urlencoded任何工作正常的东西时,Postman才返回空对象。我想知道为什么会这样

代码语言:javascript
复制
const express = require('express');
const mongoose = require('mongoose');
const app = express();
require('dotenv').config();
const port = process.env.PORT || 5000;



app.use(express.json());

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

app.use("/static", express.static(__dirname + "/assets"))


app.post('/auth/login', (req, res) => {
    res.status(200).json(req.body)
})



mongoose.connect("mongodb://localhost:27017")
    .then(() => {
        app.listen(port, () => {
            console.log('port' + port)
        })
    })
EN

回答 2

Stack Overflow用户

发布于 2022-09-18 05:50:28

我假设你指的是application/x-www-form-urlencoded而不是xxx-www-form-urlencoded,你指的是multipart/form-data而不是form-data。

这两个内容类型是完全不同的编码。当你打电话时:

代码语言:javascript
复制
app.use(express.urlencoded({ extended: true }));

您添加了一个可以解析application/x-www-form-urlencoded的中间件,但这并不意味着它也会自动解析其他格式。它只适用于这种格式,就像express.json()只适用于application/json格式一样。

票数 0
EN

Stack Overflow用户

发布于 2022-09-18 05:52:38

我解决了这个问题,我刚在我的控制器里创建了穆特,它按照我的意愿工作。

代码语言:javascript
复制
const express = require('express');
const router = express.Router();
const { getUsers, createNewUser } = require('../controllers/newUser')
const path = require('path');
const multer = require('multer');


const upload = multer();


router.get('/', getUsers)

router.get('/:id', (req, res) => res.send('get single user'))
router.post('/', upload.none(), createNewUser)



module.exports = router;
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73759970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档