小编典典

从jquery ajax调用返回

ajax

我试图在我自己的函数中使用jQuery ajax调用的返回值,但它始终返回未定义的值。

function checkUser2(asdf) {
    $.ajax({
        type: "POST",
        async: false,
        url: "check_user.php",
        data: { name: asdf },
        success: function(data){ 
            return data;
            //alert(data);
        }
    });  
}

$("#check").click(function(){
    alert(checkUser2("muma"));
});

ajax调用绝对有效,因为当我取消注释警报时,我得到了正确的返回,并且可以在firebug中看到它。我在做蠢事吗?


阅读 202

收藏
2020-07-26

共1个答案

小编典典

AJAX调用是异步的-这意味着AJAX请求是按常规程序执行顺序发出的,并且在您的程序中这意味着checkUser2()不会将数据返回警报。

您不能$.ajax()以这种方式使用调用的返回值,而是将利用AJAX返回数据的代码移到该success()函数中-这就是它的作用。

2020-07-26