【问题标题】:How to get 201 status when uploading a file?上传文件时如何获得201状态?
【发布时间】:2021-11-14 04:51:19
【问题描述】:

我正在使用 node.js (express && multer) 和 mongodb 构建一个反应应用程序。 当我上传图片时 - 文件存储在文件夹中,对象在 mongodb 中创建,但我得到 200 状态而不是 201。 我应该添加什么才能获得正确的状态?

     fetch("http://localhost:8080/addItems", {
       method: "POST",
       body: data,

   })
     .then(res => res.status !== 201 ? setFileExistsError(true) : setFileExistsError(false))
     };

return(
<>
        {fileExistsError && <p className="errorMsg">Item already exists</p>}
</>
)

【问题讨论】:

    标签: post server-response


    【解决方案1】:

    我在我的 node.js 上尝试了一个带有 201 状态代码的发布请求 - 反应代码并且它有效。您的 node.js 代码应该告诉您的反应代码状态为“201”。

    1. 首先,对于您的 node.js,它应该是这样的:
    app.post("/addItems", function(req, res){
      myCollection.create(req.body).then(() => {
        res.status(201).end();
      });
    });
    
    1. 然后,使用您的 react.js(在您的代码中,data 后面有额外的逗号,then 下还有额外的花括号。您也应该清理它们):
    fetch("/addItems", {
      method: "POST",
      body: data
    })
    .then ((res) => {
      if (res.status !== 201) {
        setFileExistsError(true);
      } else {
        setFileExistsError(false);
      }
    })
    
    return(
    <>
       {fileExistsError && <p className="errorMsg">Item already exists</p>}
    </>
    )
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-10
      • 1970-01-01
      • 1970-01-01
      • 2011-12-13
      • 1970-01-01
      • 1970-01-01
      • 2012-03-21
      • 1970-01-01
      相关资源
      最近更新 更多