Equal_ 2015-05-14 13:22 采纳率: 0%
浏览 2274
已采纳

用ajax验证用户存在,为什么return true,方法没有结束,还在往下执行??

function isExit(){

var value = $('#testDept').val();   

if(value!=""){
    $.ajax({
        url:"deptIsExit",
        type:"post",
        data:{"deptValue":value},
        success:function(data){
            $('#message').html(data.result.message);
            if(data.result.isExit){
                return true;
            }
        }
    });
}else {
    $('#message').html("不能为空!");
    return false;
}

}

function checkit(){

if(isExit()){
    return true;
}

return false;

}

这个是个form表单,里面的onsubmit,ajax已经传递值,并且比较也正确,正常应该return true,方法就结束了,但是,往下执行了return false。导致我表单一直提交不了!!!这里本人确定值传递进去,并且比较完毕,返回的也是true!!但就是,方法没结束,怎么回事????调试结果是直接全部都执行了!没有跳过中间的return true!!!

  • 写回答

2条回答 默认 最新

  • danielinbiti 2015-05-14 13:24
    关注
     $.ajax({
            url:"deptIsExit",
            type:"post",
                    async: false,//设置fale表示ajax同步执行,如果是异步,则success没有执行前就会执行ajax后面的代码
            data:{"deptValue":value},
            success:function(data){
                $('#message').html(data.result.message);
                if(data.result.isExit){
                    return true;
                }
            }
        });
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?