背景
RD同学访问运维平台申请topic反馈填完工单信息后点击下一页无反应;查看开发者工具前端console和network终端都无任何输出
image.png
问题定位过程
我在自己电脑上访问同样的功能唯一区别是不同的集群,发现功能正常,于是再换成相同的集群尝试,问题就复现了,于是查看后端获取的问题集群的结果集发现不同于其他集群的topic信息字段为null
image.png
因为前端在做表单校验的时候校验了topic否已存在,所以怀疑null值影响了这块逻辑没有往下执行,以下标记的topic校验逻辑
image.png
在vue的create阶段从后端获取集群详情,拿到topicTotal值(如果有值则为列表类型,无值则为null),然后调用列表的forEach方法和表单中填入的topic进行对比,debug发现这块逻辑就没任何反应
解决方法
对topicTotal加一层null值的判断之后功能恢复正常,判断逻辑如下
image.png
反思
1、拒绝惯性思维
当RD反馈开发者工具无任何输出,而自己验证功能无问题后,直观上判断是网络或者session的问题,认为如果是程序有错那么console或者network都应该有异常返回,结果还是吃了无知的亏;
2、要带着怀疑的态度审视自己的产品
前端是我写的,但毕竟不是专业的开发人员所以还是要带着疑虑去找问题出在哪里
网友评论