<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<meta http-equiv="X-UA-Compatible" content="IE=7" />
<title>js test</title>
<script language="javascript" type="text/javascript" src="jquery.min.js"></script>
</head>
<body>
<script>
function ajaxRes(){};
ajaxRes.flag = true;
function aj(){
$.ajax({ 
type: "POST",
url: "test.php",
async:'false',
data: "",
success: function(msg){
ajaxRes.flag = msg;
alert(ajaxRes.flag);
}
});
//alert(ajaxRes.flag);
if(ajaxRes.flag=='m0'){
alert('000');
}else{
alert('111');
}
}
aj();
</script>
</body>
</html>
以上ajax无法修改ajaxRes.flag值,但加上杠掉的调试alert就可以了。这什么情况。

解决方案 »

  1.   

    你把判断的内容 放到 ajax 的 success 里去
      

  2.   

     function ajaxRes() { };
            function aj() {
                $.ajax({
                    type: "POST",
                    url: "test.php",
                    async: false,
                    data: "",
                    success: responseAjax
                });
            }
            function responseAjax(data) {
              
                if (data == 'm0') {
                    alert('000');
                } else {
                    alert('111');
                }
            }        aj();
    ajaxRes.flag = true;
    function aj(){
        $.ajax({ 
            type: "POST",
            url: "test.php",
            async:'false',
            data: "",
            success: function(msg){
                ajaxRes.flag = msg;
                if(ajaxRes.flag=='m0'){
            alert('000');
        }else{
            alert('111');
        }
            }
        });
      
       
    }
    aj();
    function aj(){
        $.ajax({ 
            type: "POST",
            url: "test.php",
            async:'false',
            data: "",
            success: function(msg){
                ajaxRes.flag = msg;
                alert(ajaxRes.flag);
                return false;
            }
        });
        
        if(ajaxRes.flag=='m0'){
            alert('000');
        }else{
            alert('111');
        }
    }