javascript - 函數(shù)返回異步事件得到的結(jié)果
問(wèn)題描述
在做一個(gè)手機(jī)獲取驗(yàn)證碼的邏輯:
我的解決辦法如下:
function validateaccount() {var account = $('#account').val();var flag = false; // 設(shè)定一個(gè)flag判斷是否注冊(cè)if (account) { //驗(yàn)證登錄名是否存在 $.ajax({url:’/sso/validateaccount.do’,data : { account : account, accountType : ${accountType}},type:’POST’,async:false,success:function(data){ data = $BySlin.strToJson(data); if (data.code == ${my:obtain(’HTTP’, ’SUCCESS’)}) {if (data.data.validateMsg) { $('#accountErrorMsg').html(data.data.validateMsg);} else { $('#accountErrorMsg').html(''); flag = true;} } else {$('#accountErrorMsg').html('賬號(hào)校驗(yàn)失敗,請(qǐng)重試');flag = false; }} }); return flag; // 函數(shù)返回該flag給其他方法做判斷} else { layer.open({content: ’請(qǐng)先輸入您的賬號(hào)’,skin: ’msg’,time: 2 });} }
然后其他方法調(diào)用該方法以獲取是否注冊(cè)的判斷結(jié)果:
function sendMsg() {debuggervar validateaccountStatus = validateaccount();if (!validateaccountStatus) { return;}xxxxxxxxx }
但是這樣會(huì)使方法又執(zhí)行一遍。所以想知道是否有更好的辦法?
問(wèn)題解答
回答1:1.blur事件觸發(fā)時(shí),應(yīng)該先檢驗(yàn)手機(jī)號(hào)碼是否正確,正確再發(fā)送請(qǐng)求,檢查手機(jī)號(hào)是否有注冊(cè)過(guò),這樣節(jié)省一點(diǎn)請(qǐng)求數(shù)。不然只輸入三位數(shù)都發(fā)送請(qǐng)求了。2.請(qǐng)求回來(lái),如果發(fā)現(xiàn)手機(jī)號(hào)已經(jīng)注冊(cè)過(guò)了,點(diǎn)擊按鈕不發(fā)送請(qǐng)求,給個(gè)提示,或者讓按鈕不可點(diǎn)擊的狀態(tài)。3.等到手機(jī)號(hào)確認(rèn)了沒(méi)有注冊(cè)過(guò),驗(yàn)證碼也填寫(xiě)完畢并且驗(yàn)證正確了,點(diǎn)擊按鈕,就直接發(fā)送請(qǐng)求就好了。這個(gè)時(shí)候不需要驗(yàn)證了。因?yàn)樵赽lur事件觸發(fā)時(shí)已經(jīng)驗(yàn)證了!
回答2:寫(xiě)到cookie里面, cookie沒(méi)有的話 就執(zhí)行下
相關(guān)文章:
1. python小白 關(guān)于類(lèi)里面的方法獲取變量失敗的問(wèn)題2. thinkPHP5中獲取數(shù)據(jù)庫(kù)數(shù)據(jù)后默認(rèn)選中下拉框的值,傳遞到后臺(tái)消失不見(jiàn)。有圖有代碼,希望有人幫忙3. linux運(yùn)維 - python遠(yuǎn)程控制windows如何實(shí)現(xiàn)4. Python2中code.co_kwonlyargcount的等效寫(xiě)法5. javascript - 如何用最快的速度C#或Python開(kāi)發(fā)一個(gè)桌面應(yīng)用程序來(lái)訪問(wèn)我的網(wǎng)站?6. django - Python error: [Errno 99] Cannot assign requested address7. mysql數(shù)據(jù)庫(kù)做關(guān)聯(lián)一般用id還是用戶名8. [python2]local variable referenced before assignment問(wèn)題9. 求救一下,用新版的phpstudy,數(shù)據(jù)庫(kù)過(guò)段時(shí)間會(huì)消失是什么情況?10. python小白,關(guān)于函數(shù)問(wèn)題
