前几天下班后跟踪一个系统的投产,测试环境和准生产环境都上了,确定没有问题,但是投产后,系统老是不请求数据渲染页面。
先是排查后端那边部署的文件是否齐全,打印日志发现后端的接口根本没调。但是前端这边的代码也并没有更改过,按道理说,应该是没有问题的。
因为是移动端的项目,又对接了沙箱,前端的错误提示没有办法通过控制台打印输出。后端接口没有调用,日志也打印不出,前前后后搞了三个多小时,硬是没有发现问题出在哪里。
确定后端那边应该是没什么问题,所以考虑用alert()方法,直接将消息弹出,看前端代码执行到哪一步。顺便也将errorcallback函数中的console.log()方法换成了alert()方法方便在手机端弹出。结果发现沙箱的接口调用了,但是调用失败,沙箱方并没有给我们反馈数据,执行了errorcallback函数。反馈给沙箱方后,究其原因,原来是应用上架的时候包名配置错误。
一个小小的问题,硬是搞得我加班到十点才回家。通过这一事件,我收获了一个经验教训,就是失败的回调函数在系统正常运转的时候不会执行,但是在失败错误函数中,给出错误信息是尤为重要的,因为一旦发生错误,给出的错误信息将帮助我们迅速定位无措原因。
小结:手机端调试可以在失败回调函数中,用alert()方法,弹出错误提示!