You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从axios请求catch块的err对象中提取服务端返回的错误消息

问题解答

Axios对错误对象做了统一封装,对于服务端返回的4xx/5xx类HTTP错误,响应内容会挂载在错误对象的response属性下,你要提取的错误文本就存储在err.response.data中。
为了避免网络异常、跨域拦截等无响应返回的场景报错,建议先加一层存在性判断,修改后的代码如下:

export const register = async (credentials, dispatch) => {
  try {
    const res = await axios.post("/auth/register", credentials);
    dispatch(success(res.data));
    document.cookie = res.data.access_token;
  } catch (err) {
    dispatch(register_error());
    // 提取错误信息逻辑
    let errMsg = "请求异常,请稍后重试"
    if (err.response) {
      // 服务端返回了错误响应,直接取data里的内容
      errMsg = err.response.data
    }
    // 此处可根据业务需求处理错误信息,比如全局提示、打印日志等
    console.log(errMsg)
  }
  dispatch(end());
};

如果需要排查错误对象的完整结构,可在catch块内打印完整对象查看:console.dir(err)

内容的提问来源于stack exchange,提问作者Bear Bile Farming is Torture

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 17:57:05