+ -
当前位置:首页 → 问答吧 → 异步提交,方法执行不能获得返回值

异步提交,方法执行不能获得返回值

时间:2011-08-22

来源:互联网

JScript code
 function checkUserName() {
        var bool;
        if ($.trim($("#txt_userName").val()) == "") {
            $("#div_u").html("用户名不能为空");
            return false;
        }
        else {
            var userName = $("#txt_userName").val();
            var data = { userName: userName };
            $.post("AJAX/CheckUserName.ashx", data, function (result) {
                if (result == "1") {
                    $("#div_u").html("此账号已经被注册");
                    return false;
                }
                else {
                    $("#div_u").html("");
                    return true;
                }
            }, "text");
        }
    }

怎么让这个方法根据返回的result的值来返回ture 和false
方法post提交后,这个方法得不到返回值。。我希望这样的功能:如果帐号存在就返回false,不存在就返回ture

作者: ethen_vic   发布时间: 2011-08-22

if (result == "1") {
$("#div_u").html("此账号已经被注册");
return false;
}

这个就是你success时的回调函数里执行的啊,如果执行成功而且服务器端返回1就说明被注册了。

作者: KongHuLu   发布时间: 2011-08-22

嗯,我试试

作者: ethen_vic   发布时间: 2011-08-22

引用 1 楼 konghulu 的回复:
if (result == "1") {
$("#div_u").html("此账号已经被注册");
return false;
}

这个就是你success时的回调函数里执行的啊,如果执行成功而且服务器端返回1就说明被注册了。
能给下success的代码吗,我刚学jquery 不是很熟悉

作者: ethen_vic   发布时间: 2011-08-22

HTML code

successFunction请求成功后的回调函数。参数:由服务器返回,并根据dataType参数进行处理后的数据;描述状态的字符串。 Ajax 事件。 

function (data, textStatus) {
    // data 可能是 xmlDoc, jsonObj, html, text, 等等...
    this; // 调用本次AJAX请求时传递的options参数
}

作者: fengyun817   发布时间: 2011-08-22

不行的,他是异步的,这方法已经执行到末尾的反括号了,他再return 没值啊

作者: ethen_vic   发布时间: 2011-08-22

那是一个回调的。
你要执行什么,直接在success函数里面相应地传参执行就好了。

作者: KongHuLu   发布时间: 2011-08-22

在回调中return值没有意义,把你需要根据返回值进行执行的代码放到回调函数函数中执行

如果你是想checkUserName返回值,需要设置一个局部全局变量,使用$.ajax来控制并且设置为同步执行,如下
JScript code
function checkUserName() {
        var bool;/////////////
        if ($.trim($("#txt_userName").val()) == "") {
            $("#div_u").html("用户名不能为空");
            return false;
        }
        else {
            var userName = $("#txt_userName").val();
            var data = { userName: userName };
$.ajax({
type:'POST',
url:'AJAX/CheckUserName.ashx',
data:data,
async:false,////////////////
success:function(){
 if (result == "1") {
                    $("#div_u").html("此账号已经被注册");
                    bool= false;///////////////////
                }
                else {
                    $("#div_u").html("");
                    bool= true;////////////////////////
                }
},
error:{
   $("#div_u").html("发生错误。。。。");
                    bool= false;///////////////////
}
})
         /*   $.post("AJAX/CheckUserName.ashx", data, function (result) {
                if (result == "1") {
                    $("#div_u").html("此账号已经被注册");
                    return false;
                }
                else {
                    $("#div_u").html("");
                    return true;
                }
            }, "text");
        }*/
return bool////////////////
}


作者: showbo   发布时间: 2011-08-22

热门下载

更多