如何从node.js后端获取客户端的错误对象?

时间:2019-08-03 19:06:56

标签: node.js reactjs api error-handling httpresponse

我有一个小问题。我正在开发一个应用程序,并使用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);
        });

我也尝试过仅从后端发送没有错误的响应,这也不起作用。

我得到的图片: enter image description here 网络标签: enter image description here

1 个答案:

答案 0 :(得分:0)

您可以通过以下方式捕获它。

axios
  .post(url, data)
  .then(response => {
    //You get success response here.
  })
  .catch(err => {
    //Error response here
  });