Problem with Success Function always returns false

Problem with Success Function always returns false

<script language="Javascript">

var flag=0;
            
                function verifyUser(username)
                {

                    
                    $.ajax({
                            type: "POST",
                            url: "check_username.php",
                            data: "q="+ username ,
                            cache : "false" ,
                            success: function(msg)
                            {        
                            
                            if(msg==true)
                                {
                                    $("#lblmsg").text('Already exists');    
                                    flag=1;
                                }
                                else
                                {
                                    $("#lblmsg").text('Available');            
                                }                                    
                                
                            }
                           });
                    checkval();
                }

                function checkval()
                {

                    if(flag==1)
                    {
                        alert("Username Already Exists");
                        $("#txtusername").focus().val("");
                        return false;
                    }
                }
</script>