今天在调试的前端的时候,发现一个错误,在ajax中添加了判断语句后,ajax语句的返回语句就是没有返回值,也不指导为什么,
如下是代码的片段的,
function getToken(){
$.ajax({ url: url‘, type: "POST", data: JSON.stringify(payload), async: false, contentType: "application/json; charset=utf-8", error: function () { alert(‘系统错误‘); }, success: function (data) { token = data.result; if(data.error.code == 500){ alert("授权失败") } } }); return token; }
结果发现token可以获取到,但是始终没有返回,一直调试几个小时,由于微信端调试工具,加上对于前端又不熟,所以不知道为什么,就一直以为是前端的ajax没有执行成功
最后,终于知道了,原来是js执行一旦前面报错,后面都不行了。我的代码中判断code需要获取需要error的key存在,由于没有报错,所以获取code时报错了,后面的return token就没有执行。改成下面这样就好了。
token = data.result; if(data.error){ alert("授权失败") }
感觉前端调试还是比较麻烦,或许是自己水平太差了。
幸运的是自己又进步了一点点。加油!