请求发送失败,报500错误,错误信息的获取 您所在的位置:网站首页 前端报500是什么原因 请求发送失败,报500错误,错误信息的获取

请求发送失败,报500错误,错误信息的获取

2024-04-04 07:29| 来源: 网络整理| 查看: 265

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第14天,点击查看活动详情

今天,正在看昨天的那个问题,到底怎么通过回调 $nextTick() 来让搜索框中的条件框能够实现满足一定条件折叠起来.....然后,就有个缺陷提了过来.....立马着手处理了一下。

优化

准确来说,也不算是个缺陷,本来这个小工具就是组内用,测试人员看我独自搞了这么久,也不忍心狠提 BUG,跟我讲了一下让我优化一下:我打个 jar 包给他后,他拿着准备试一下能不能用,然后,他去起要监控的服务。然后发现页面中没有要监控的服务信息,F12 查看 netWork 之后,发现是服务报错 500,提议页面应该提示一下,不然也看不出出问题了,以为就是没数据呢。我看了一下后,雀食在理,弹窗提示一下也好。

思路

500 报错,我一开始以为是服务那边返回的错误,我还以为要从服务那边接收这个错误信息,然后再通过接口返回给前端,最终前端将错误信息展示出来。但,想了一下,不太对啊,500 报错是服务出问题的错误,服务根本就运行出错了,不会给我返回信息了吧。然后测试就跟我说,刚刚的报错是因为他少改了个配置,服务起来后,有点问题,总之错误不会是服务给我的。

那么思路就比较清晰了,既然错误不用后端返回给前端,那么只需要在前端直接判断 500 错,然后弹窗展示错误信息即可。但前端要怎么直接判断这个错误呢?

500 也不是发请求,请求返回的,即使请求返回了错误信息,但那也是请求响应成功了后,返回的错误,而 500 是请求根本就没有发送成功。等等,请求没有发送成功?找到关键点!现在问题就变成了:请求发送失败,失败信息的获取并输出。

解决方法

经过一番“了解”后,才明白原来在调用发送请求的方法时,可以直接在后面跟上 catch 代码块进行错误信息捕获。类似:

await someRequestMethods().catch((error) => { if (error.response) { //弹窗等操作 ... // error 就是 500 的错误信息 ... } })

弹窗部分,项目中封装有弹窗组件,我之前用过,所以稍微改了一下就应用成功了,关键还是请求方法后面的 catch,我后来又去看了一下他们在调方法发请求时,发现后面也跟有 catch,看来还是自己之前不懂啊,没有考虑周全,也算是学到了。

希望本文能够帮到你,有错误,望指正! 我向你敬礼啊,Salute!



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有