【发布时间】:2019-12-11 23:02:39
【问题描述】:
我遇到了一个小问题。我正在开发一个应用程序,并使用 node.js(使用 express)创建了 API。现在我正试图从节点发送我的错误对象以做出反应,但由于某种原因我无法得到它。我可以在网络选项卡中看到该对象,但我想使用它,例如将其控制台到客户端。
back-end:
app.post('/api/users/login', async (req, res) => {
try {
const user = await User.findByCredentials({ ...req.body });
const token = await user.generateAuthToken();
res
.cookie('w_auth', token)
.status(200)
.send({ user, token });
} catch (error) {
res.status(400).send({ success: false, error: 'some error' });
}
});
client-side:
loginUser:
export const loginUser = dataToSubmit => {
return axios.post(`${USER_SERVER}/login`, dataToSubmit);
};
loginUser(dataToSubmit)
.then(res => {
console.log(res);
dispatch({ type: 'SET_USER', user: res.data.user });
})
.catch(error => {
console.log(error);
});
我也试过只是从后端发送一个没有错误的响应,这也没有用。
【问题讨论】:
-
你能显示 loginUser 函数吗??
-
export const loginUser = dataToSubmit => { return axios.post(
${USER_SERVER}/login, dataToSubmit); }; -
不要忽略节点
catch中的错误对象。硬编码的通用消息“某些错误”毫无意义 -
@charlietfl 我知道。这只是为了看看我是否可以在客户端注销它的示例
标签: node.js reactjs api error-handling httpresponse