javascript非同步操作(ajax)

練習

$(document).ready(function() {
	if (checkVcode()) {
		console.log("導到下一步."); 
	} else {
		console.log("停止在這步.");
	}		
}

function checkVcode(){	
	var res = false;	
    $.ajax({
        url : "getCheck",
        //async: false,
        type : 'POST',
        method : 'POST',
        dataType : 'json',  
        data : { vcode: $('#vcode').val() },
        success : function(data) {
        	if (data.vcode=="error") {
        		console.log("驗證碼輸入錯誤:Yes.");
        	} else {
        		console.log("驗證碼輸入錯誤:No.");
            	res = true;
        	}
        },
        complete : function(msg){},
        error: function (error) {}
    }); 	
    
    return res;
}      

/*
async: false-
	希望達到的結果:

if (async: false) and (驗證碼輸錯)
驗證碼輸入錯誤:Yes.
停止在這步.

if (async: false) and (驗證碼正確)
驗證碼輸入錯誤:No.
導到下一步.
*/

/*
async: true-
	因javascript預設為非同步, 會先回到document.ready執行vcode判斷, 再收到ajax結果.

if (async: true) and (驗證碼輸錯)
停止在這步.
驗證碼輸入錯誤:Yes.

if (async: true) and (驗證碼正確)
停止在這步.
驗證碼輸入錯誤:No.
*/