#post #server-response
Вопрос:
Я создаю приложение react с помощью node.js (express amp;amp; 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 amp;amp; <p className="errorMsg">Item already exists</p>}
</>
)
Ответ №1:
Я попробовал отправить запрос с кодом статуса 201 на моем node.js — код реакции, и он сработал. Ваш node.js код, должен сообщить вашему коду реакции, что статус «201».
- Во-первых, с вашим node.js, это должно быть что-то вроде этого:
app.post("/addItems", function(req, res){
myCollection.create(req.body).then(() => {
res.status(201).end();
});
});
- затем, с вашим react.js (в вашем коде есть дополнительная запятая после
data
и дополнительная фигурная скобка подthen
. Вы также должны их почистить):
fetch("/addItems", {
method: "POST",
body: data
})
.then ((res) => {
if (res.status !== 201) {
setFileExistsError(true);
} else {
setFileExistsError(false);
}
})
return(
<>
{fileExistsError amp;amp; <p className="errorMsg">Item already exists</p>}
</>
)