商城首页欢迎来到中国正版软件门户

您的位置: 首页 > 文章列表 > 编程开发 > 前端获取http状态码400的返回值实例

前端获取http状态码400的返回值实例

  发布于2026-07-22 阅读(0)

扫一扫,手机访问

在日常开发中,调用后端接口时,最怕遇到什么?其实不是报错,而是报错之后你拿不到有用的信息。比如,后端告诉你“手机号已存在”,返回了一个400状态码,可你的前端代码却只捕获到一个光秃秃的Error对象,连个数据都捞不着,那才叫抓狂。

下面这段代码,就展示了如何正确地拿到400状态码背后的真实数据,而不是只看到一句“Error: Request failed with status code 400”。

axios.get("/check_mobile_and_sent_code",{
  withCredentials:true,
  params:{mobile:formInline.mobile}
}).then(res=>{
  console.log(res);
  // 倒计时逻辑,这里略——关键看error处理
  if (!this.timer) {
    this.count = this.TIME_COUNT;
    this.show = false;
    this.timer = setInterval(() => {
      if (this.count > 0 && this.count <= this.TIME_COUNT) {
        this.count--;
      } else {
        this.show = true;
        clearInterval(this.timer);
        this.timer = null;
      }
    }, 1000)
  }
}).catch(error=>{
  console.log(error.response.data);
  console.log(error.response.status);
  console.log(error.response.headers);
  console.log('Error', error.message);
  console.log(error.config);
})

使用场景:

当后端判断验证的手机号已存在时,会返回400状态码。这时候,如果没有在catch里正确打印error.response,你看到的只是error.message,也就是一串“400 (Bad Request)”,根本不知道具体原因。而上面的代码,通过error.response对象,就能拿到后端返回的详细数据——比如错误描述、业务码等。

下面这张图,就是在控制台打印出来的error.response的实际内容,可以看到,状态码、请求头、响应体都清清楚楚。

前端获取http状态码400的返回值实例

这里有个容易踩的坑:如果直接输出error,它等于error.message,而不是完整的响应对象。一定要用error.response才能拿到后端的返回数据。

作为对比,再来看看状态码200时的正常返回值是什么样的——

前端获取http状态码400的返回值实例

总结一下:处理HTTP错误时,别只盯着error.messageerror.response才是你真正需要的好东西。拿到它,你就能精准定位后端返回的业务错误信息,再也不用对着400状态码干瞪眼了。

本文转载于:https://www.jb51.net/article/124984.htm 如有侵犯,请联系zhengruancom@outlook.com删除。
免责声明:正软商城发布此文仅为传递信息,不代表正软商城认同其观点或证实其描述。

热门关注