【问题标题】:Using axios POST Request to Update JSON使用 axios POST 请求更新 JSON
【发布时间】:2020-04-18 01:01:40
【问题描述】:

我是 React 的新手,目前正试图弄清楚如何使用 axios.post 请求更新 JSON 文件。我有一个功能,用户可以上传照片,目标是将照片的 ID 和 imgURL 添加到我存储该数据的 photos.json 中。 这是我的帖子功能:

            axios.post('/api/photos', image)
            .then(res => {
                console.log(res.data);
                })
                .catch(function (error) {
                console.log(error);
            })
        } 

我在照片控制器中发布了到创建功能的路线,如下所示:

    module.exports.create = (req, res) => {

        const photo = new Photo({
            id: req.body.id,
            imgURL: req.body.imgURL
        })
        photo.save()
            .then((resp) => {
                send_code_success(res,201, "photo save success");
            })
            .catch((err) => {
                send_code_error(res,500, "photo save error");
                console.error("Could not save photo to database:", err);
            })     
    };

这就是我猜测的问题所在,因为老实说,我不确定这里应该放什么代码。任何帮助将不胜感激!!!

【问题讨论】:

  • 如何更新文件取决于服务器端 API,与客户端框架无关。 Photo 是什么以及为什么 save() 不更改文件完全是个谜,因为您没有提供足够的详细信息。
  • 在您的创建函数中,您需要将保存的文档作为 JSON 返回到您的前端,以便您的前端可以使用它
  • 是save()函数发出post请求吗?如果是,您应该将照片作为参数传递 save(photo) 而不是 photo.save()
  • @MahdiN photo.save() 是正确的,它使用猫鼬模式来保存照片

标签: javascript reactjs axios


【解决方案1】:

在您的创建函数中,您需要将保存的文档作为 JSON 返回到您的前端,以便您的前端可以使用它

axios.post('/api/photos', image)
.then(res => {
    console.log(res.data);
      //=>consume your JSON response
    })
    .catch(function (error) {
    console.log(error);
})



module.exports.create = (req, res) => {

    const photo = new Photo({
        id: req.body.id,
        imgURL: req.body.imgURL
    })
    photo.save()
        .then((resp) => {
            //send_code_success(res,201, "photo save success");
            return res.status(200).json(resp) //=> return your saved doc to front end
        })
        .catch((err) => {
            send_code_error(res,500, "photo save error");
            console.error("Could not save photo to database:", err);
        })     
};

【讨论】:

    猜你喜欢
    • 2019-03-13
    • 2019-05-27
    • 1970-01-01
    • 2018-06-23
    • 2019-08-28
    • 2018-02-18
    • 1970-01-01
    • 1970-01-01
    • 2020-05-31
    相关资源
    最近更新 更多