首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Put请求req.body为空

Put请求req.body为空
EN

Stack Overflow用户
提问于 2020-08-23 21:27:43
回答 1查看 1.5K关注 0票数 0

由于我所有的要求都很好,所以我对put有问题。req.body保持为空,然后给出错误:

errmsg:"'$set‘是空的。您必须指定这样的字段:{$set:{:.}“

放:

代码语言:javascript
运行
复制
router.put('/books/:name', (req, res, next) => {
    const localdb = db.client.db(process.env.DB_NAME);
    const collection = localdb.collection(process.env.COLL_BOOKS);
    collection.replaceOne(
        { "name": req.params.name },
        { $set: req.body },
        function (err) {
            if (err) throw err
            res.status(201).send(true);

        });

App.js

代码语言:javascript
运行
复制
const express = require('express'),
    app = express();
os = require('os');
const bodyParser = require('body-parser');
const cors = require('cors');
const router = require('./router.js')
require('dotenv').config()


app.use(cors());
app.use(bodyParser.json());

app.use('/api/v1', router);

const port = (process.env.PORT || '3001');

let server = app.listen(port, os.hostname(), () => {
    let host = server.address().address,
        port = server.address().port;
    console.log("Example app listening at http://%s:%s", host, port);
});

axios请求:

代码语言:javascript
运行
复制
 updateItem = newBook => {
        Axios.put(process.env.REACT_APP_API_PATH_BOOKS + `${newBook.name}`, newBook)
            .then(res => {
                this.setState({ newBook: res.data });
                this.props.history.push('/admin');
            })
            .catch(err => console.log(err));
    }

我不明白我做错了什么

EN

回答 1

Stack Overflow用户

发布于 2020-08-23 21:33:39

确保您没有任何中间件剥离或不正确地解析身体。例如,您可能有一个JSON主体解析器,而不是发送带有JSON应用程序头的JSON数据。

您能用代码给出一些上下文,说明您是如何发出put请求的,以及在pastebin中记录req的结果吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63552158

复制
相关文章

相似问题

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