为啥修改不了flag全局变量

代码如下:


```html
<script type="text/javascript">
 var flag =false;
 
 function check(){
        if(form1.username.value==""){
            alert("用户名为空,请重新登录!");
            return false;}
        if(form1.pwd.value==""){
            alert("密码为空,请重新登录!");
            return false;}
        url='cheackDl.php?username='+form1.username.value+'&pwd='+form1.pwd.value;
        http_request = new XMLHttpRequest();
          http_request.onreadystatechange = alertContents;
           http_request.open('GET', url, false); 
           http_request.send();
           return flag;
 }
 function alertContents(){
        if(http_request.readyState==4){
            if(http_request.status==200){
                if(http_request.responseText==1){
                    alert("用户名错误!");}
                if(http_request.responseText==2){
                    alert("密码错误!");}
                if(http_request.responseText==3){
                    alert("成功登录");
                    flag=true;}
            }
        }
 }
</script>

<html>
    <div align="center" onsubmit="return check()">
        <p>登录页面</p>
        <form action="zhy.php" method="get" name="form1" id="form1">                            <!-- 表单 -->
        <input type="text" name="username" id="username">                                        <!-- 用户名输入框 -->
        <br>
        <input type="password" name="pwd" id="pwd" />            <!-- 密码输入框 -->
        <br>
         <input type="submit" name="userzc" id="userzc" ">                                        <!-- 提交按钮 -->
    </form>
    </div>
</html>

```