从jquery ajax调用返回

mic*_*ael 5 ajax jquery return-value

我试图在我自己的函数中使用jQuery ajax调用的返回,但它仍然返回undefined.

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"));
});
Run Code Online (Sandbox Code Playgroud)

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

And*_*ndy 7

AJAX调用是异步的 - 这意味着AJAX请求是通常程序执行的无序,并且在程序中这意味着checkUser2()不会将数据返回到警报.

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