接下來關於ajax中的
return
值最後沒有辦法是方法的最終返回值問題
login(username,password)我們能看到方法中明明return了但是 除錯卻發現 這個方法的返回值是defined,success:function(data),
error:function(err)
});}
其實因為在ajax方法中
return
只是退出了
ajax
方法 並非是
login
方法的返回值
然後我們設定乙個新的變數,然後在ajax內部賦值,最後在ajax方法外return試試
仍然不行
ok這就涉及到
ajax
是非同步行為,所以就是在
return
的時候ajax
不一定拿到了值
我希望只有當status有資料的時候再返回
那其實這個思路就是錯的因為是非同步
的這個if只能判斷一次不是反覆判斷的
也就是說在ajax拿到值之後也未必會在進入
status
判斷嘗試用setstate的方法結果發現
setstate
竟然列印的結果不同
最後的解決方案,換個思路,你未必一定要讓你的方法有返回值可以把方法寫在ajax的success函式中去。
ajax中return不生效
function addsglr 方法中在ajax中直接寫return是不生效的 因為它返回的是ajax中的success方法,而不是addsglr 因此可以設定乙個全域性變數用來做判斷,實現停止的效果。注意 ajax一定要是同步的。function addsglr datatype json as...
自動判斷應該Ajax還是return
最近回顧以前的 發現乙個偶爾會見到的現象。乙個類裡面的方法可能需要ajax返回,也有可能需要函式return。這個現象發生在 mvc中的 邏輯層 或模型層 示例如下。indexctrl是控制器負責渲染頁面,proctrl是邏輯器負責讀取處理資料,a函式是例項化乙個類,m函式是讀取資料表的意思。現在只...
ajax驗證登入函式,return使用注意事項
這是乙個驗證是否登入的方法 is login 函式 if 判斷條件是滿足 data.code 0 的,因為涉及到重複呼叫,這裡是想在其他頁面呼叫這個函式的時候有返回值用於判斷,而之前我是在這裡直接 return true 發現這樣的結果是undefined,返回的這個true值只是當前的ajax方法...