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;
}

猜你喜欢

转载自blog.csdn.net/qq_18335837/article/details/80748182
今日推荐