0

我正在用 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>}
</>
)
4

1 回答 1

0

我在我的 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>}
</>
)
于 2021-09-30T12:57:57.197 回答