论坛首页 Web前端技术论坛

jquery的get异步请求函数中使用return不起作用

浏览 2880 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2014-03-27  
jquery的get异步请求函数中使用return不起作用,就可以用ajax方式,如
    function CheckForm(){
        if($("#username").val() == ''){
            $("#warnning").html("<font color=red>ERROR</font>");
            return false;
        }
        return CheckUserName(); //这里的返回值不起作用
    }
    function CheckUserName(){
        var username = $("#username").val();
        var result=false;
        $.ajax({async:false//要设置为同步的,要不CheckUserName的返回值永远为false
                ,url:'b.php',data:{name:username}
                ,success:function(data){
                if(data == 1){
                    $("#warnning").html("<font color=#FF3300>Account is used.</font>");
                    result=false;
                } else {
                    $("#warnning").html("<font color=#00CC66>You can register.</font>");
                   result=true;
                }
        }});
        return result;//==========这里才是CheckUserName的返回值,回调函数返回值没有意义
    }

 

   发表时间:2014-04-01  
因为是异步,在请求的时候,CheckUserName方法就返回了,永远是false,需要把ajax异步改为同步。。 增加 async:false配置
0 请登录后投票
   发表时间:2014-04-01  
tkl211 写道
因为是异步,在请求的时候,CheckUserName方法就返回了,永远是false,需要把ajax异步改为同步。。 增加 async:false配置


+1
0 请登录后投票
   发表时间:2014-04-02  
放到success(data)里
0 请登录后投票
   发表时间:2014-04-02  
不错,很有用.
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics