今天在調試的前端的時候,發現一個錯誤,在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("授權失敗") }
感覺前端調試還是比較麻煩,或許是自己水平太差了。
幸運的是自己又進步了一點點。加油!