【问题标题】:How to get error object on client side from node.js backend?如何从 node.js 后端获取客户端的错误对象?
【发布时间】: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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-10-16
    • 1970-01-01
    • 2021-08-03
    • 1970-01-01
    • 2020-02-05
    • 2023-01-13
    • 1970-01-01
    • 2018-09-03
    相关资源
    最近更新 更多