У меня возникла проблема с маршрутом в моем бэкэнде, где res.status().send()
отправит клиенту только код состояния, но не отправит клиенту объект, расположенный внутри send()
.
Здесьмой код (отредактировал весь код, но проблема для краткости):
exports.user_signup = (req, res) => {
const { body } = req;
const { companyName, password, email } = body;
User.find({ email: email }, (err, previousUsers) => {
if (err) {
return res.status(400).send({
message: "There was an issue signing up."
});
} else if (previousUsers.length > 0) {
return res.status(403).send({
message: "Records show this email is linked to another account."
});
}
}
Когда я делаю мой fetch request
с клиента, ответ возвращает только status code
с сервера, но нигде вответ - это объект в методе send()
на сервере.Просто швыряя, я бросил res.status(200).json(object)
в него, чтобы отправить объект как json
безрезультатно.
Вот мой `запрос выборки от клиента:
fetch("http://localhost:3000/users/accounts/", {
method: "post",
headers: {
Accept: "application/json",
"Content-Type": "application/json"
},
body: JSON.stringify(userData)
}).then(response => console.log(response));
}
Чтобы показать, чтоПолученный ответ я намеренно отправил некоторые данные формы от клиента на маршрут, который будет выдавать ошибку 403, и это ответ, который я получаю в консоли браузера:
Response {type: "basic", url: "http://localhost:3000/users/accounts/", redirected: false, status: 403, ok: false, …}
Так что я могууспешно отправить статус обратно из маршрута клиенту, однако я не могу на всю жизнь выяснить, почему send()
не отправляет объект вместе с ним.