当前位置: 首页 > article >正文

HTTP 状态码与前端 try-catch 捕获关系

HTTP 状态码与前端 try-catch 捕获关系

以下是 HTTP 状态码在前端 try-catch 中的捕获情况的详细解释,使用表格和箭头表示流程:


HTTP 状态码与前端 try-catch 捕获关系

状态码范围前端捕获位置触发条件示例场景
200 - 299 (成功)try服务器成功处理请求并返回数据200 OK201 Created
400 - 499 (客户端错误)catch客户端请求有问题(参数错误、权限不足等)400 Bad Request401 Unauthorized404 Not Found
500 - 599 (服务端错误)catch服务器内部处理失败500 Internal Server Error

具体流程图示

状态码 2xx
状态码 4xx/5xx
前端发起请求
try 中捕获
catch 中捕获
处理成功逻辑
处理错误逻辑

代码中的具体表现

1. 成功响应(2xx) → try 中捕获
try {
  const res = await http.post("/api/users/change_pwd", passwordForm);
  // 状态码为 2xx 时进入这里
  console.log(res.data); // 获取响应数据
  message.success(res.data.msg); // 显示成功提示
} catch (error) {
  // 不会进入这里
}
2. 错误响应(4xx/5xx) → catch 中捕获
try {
  const res = await http.post("/api/users/change_pwd", passwordForm);
  // 不会进入这里
} catch (error: any) {
  // 状态码为 4xx 或 5xx 时进入这里
  console.log(error.response.status); // 获取状态码(如 400、401、500)
  message.error(error.response.data.msg); // 显示错误提示
}

3. 注意

有的时候你的vue代码可能使用了http拦截器,里面对响应的状态码进行判断了,如:
在这里插入图片描述

这个时候后端返回状态码status的时候就要慎重考虑了

常见状态码示例

状态码含义前端捕获位置典型场景
200OK(成功)try密码修改成功
400Bad Request(请求错误)catch新旧密码相同、参数缺失
401Unauthorized(未授权)catchToken 过期或无效
404Not Found(未找到)catch接口路径错误
500Server Error(服务器错误)catch数据库连接失败、未处理的异常

关键点总结

  1. 2xx 状态码
    • 表示成功,前端在 try 中处理。
    • 例如:200(成功)、201(创建成功)。

  2. 4xx/5xx 状态码
    • 表示错误,前端在 catch 中处理。
    4xx 是客户端问题(如 400 参数错误、401 未授权)。
    5xx 是服务端问题(如 500 服务器崩溃)。

  3. 前端统一错误处理
    • 在 catch 中通过 error.response 获取状态码和错误信息。
    • 根据状态码显示不同的用户提示(如 401 跳转到登录页)。


通过这种设计,前端可以清晰地区分成功和失败逻辑,并根据状态码提供精准的用户反馈。


http://www.kler.cn/a/612741.html

相关文章:

  • java八股文之企业场景
  • Oracle数据库数据编程SQL<2.2 DDL 视图、序列>
  • 小白工具PDF转换 PDF转图片 超便捷软件 文件格式转换 简单好用效率高
  • RabbitMQ 核心组件及功能详解
  • 信息隐藏技术
  • Flutter_学习记录_get_cli的使用
  • nginx代理前端请求
  • Spring Boot旅游管理系统
  • 基于python爬虫:requests+BeautifulSoup+MySQL/MongoDB(或:CSV、JSON等格式的文件)+...
  • thinkphp漏洞再现
  • 《C++ 基石:筑牢编程巅峰根基》
  • Dynamic WallPaper-壁纸动态-Mac电脑-4K超高清
  • node-red
  • Ant Design Vue 中的table表格高度塌陷,造成行与行不齐的问题
  • 日记:实际开发中git的常用命令
  • 搭建私人对外git空间
  • 详细介绍Spring MVC的执行流程是怎么样的?
  • 基于物联网的新房甲醛浓度监测系统的设计(论文+源码)
  • 阿里云数据学习20250327
  • Unity 运行时更换Animator状态里的动画剪辑