我试图在我自己的函数中使用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中看到它。我在做蠢事吗?
AJAX调用是异步的-这意味着AJAX请求是按常规程序执行顺序发出的,并且在您的程序中这意味着checkUser2()不会将数据返回警报。
checkUser2()
您不能$.ajax()以这种方式使用调用的返回值,而是将利用AJAX返回数据的代码移到该success()函数中-这就是它的作用。
$.ajax()
success()