Поскольку вызов AJAX асинхронный, вы возвращаете значение ret
до его назначения.
Используйте метод обратного вызова для обработки результата:
function checkUsername(username, callback) {
var ret=false;
$.ajax({
type: "POST",
url: "user_validate.php",
async: true,
data: "username="+username,
success: function(data){
callback(data == 0);
},
error:function() {
alert("ERROR");
}
});
}
Использование:
checkUsername(username, function(success){
if (success) {
alert('User name is valid.');
} else {
alert('User name is not valid.');
}
});