从Github拉取开源项目,跑起来,没问题,从Chrome控制台研究请求接口及response数据。复制该项目,更改API成自己的并确保每一个Response的数据跟原项目返回的一样。结果过不了登录。
解决的笨办法是对这两个项目同时进行debug,找出对应差异。
在debug的时候,确保每一步都是对应的,并且查看变量等信息是否一致。
这些东西是非常消耗耐心的,因为系统不报错,什么都不提示,只能通过debug定位并解决问题。
第1个蓝色的按钮是消费掉所有的调试节点(理解为终止调试),
第2个按钮是跨过下一个函数,不进入下一个函数,直接从头上跳过
第3个按钮是步入下一个函数,进入函数进行分析
第4个按钮是步出函数,走出当前函数就对了
在调试中,比较两个控制台出现的结果信息差异,可以使用下方这个工具:
在线文本比较工具
经过我的自强不息,终于找了差异所在
如上图,原项目是有进入if(res.code === 0){ }判断的
如上图,我自己定义新的请求接口后,并没有进入if(res.code === 0){ }
原项目????返回的code是整型的0,
而菜????我自己制造了一个code是字符串的"0"
这下真相大白了,这个Bug就是自己的杰作。。。
以上这个问题藏得太深厚了,控制台在没有任何报错的情况下,登录虽然成功,但是它死死不跳转,实在让人无可奈何啊!何以解忧?唯有debug呀。
君子性非异也,善假于物也