Ajax返回true或false不生效的問題(不能再回調函數中返回)

最近做SSH的項目,也集成了DWR框架,在註冊頁面中寫了一個checkusername()方法檢查用戶名是否重複。利用ajax查詢,返回結果始終不生效,後來知道原因是在回調函數中返回只是退出了回調函數,所以會返回undefined,需要記錄結果,在回調函數外面返回值

function checkusername(){
    var username = document.all.username.value;
    var flag = false;
    dwr.engine.setAsync("false");
    userClass.isExist(username,function ondata(data){
        //在回調函數中直接返回只是退出回調函數
        /*
        if(data == "用戶名可用")
            return true;
        else 
            return false;
        */
        if (data=="用戶名可用"){
            flag = true;
        }else{
            alert(data);
        }
    });
    dwr.engine.setAsync("true");
    //在回調函數外面返回纔會生效
    return flag;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章