I’m trying to use the return from a jQuery ajax call in my own function, but it keeps returning 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"));
});
the ajax call definitely works, because when I uncomment my alert I get the correct return, and I can see it in firebug. Am I doing something stupid?
The AJAX call is asynchronous – this means that the AJAX request is made out-of-order of usual program execution, and in your program that means that
checkUser2()is not returning data to the alert.You cannot use return values from
$.ajax()calls in this way, instead move the code that utilises the AJAX return data to thesuccess()function – that what it’s for.