首页 JQuery/JavaScript jquery中的return不起作用

jquery中的return不起作用

作者:胡同里的砖头 围观群众:1242 更新于:2013-12-19

function CheckUserName(){
        var username = $("#username").val();
        $.get("b.php",{ name:username},
            function (data){
                if(data == 1){
                    $("#warnning").html("<font color=#FF3300>Account is used.</font>");
                    return false;    //为啥不管用捏?
                } else {
                    $("#warnning").html("<font color=#00CC66>You can register.</font>");
                    return true;    //为啥不管用捏?
                }
            }
        );
    }

原因:逻辑没弄清楚,要将ajax设置为同步的,需要使用$.ajax,$.get默认是异步的,并且不是在回调函数内return,而是在CheckUserName函数中声明一个变量来接受回调函数的返回值,然后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的返回值,回调函数返回值没有意义
    }
//OK! 测试一下,没问题了!

  • 本文标题: jquery中的return不起作用
  • 文章分类:【JQuery/JavaScript】
  • 非特殊说明,本文版权归【胡同里的砖头】个人博客 所有,转载请注明出处.
留言评论
站点声明:
1、本站【胡同里的砖头】个人博客,借鉴网上一些博客模板,取其各优点模块自行拼装开发,本博客开发纯属个人爱好。
2、所有笔记提供给广大用户交流使用,可转载,可复制,纯个人开发所遇问题锦集记录使用
Copyright © huzlblog.com All Rights Reserved. 备案号:苏ICP备2021056683号-8