问题:flag1能正常输出,flag2却输出未定义
var flag ;
$.getJSON("#",function(json){
flag = json.flag;
alert("flag1:" + flag );
});
alert("flag2:" + flag );
原因:因为ajax默认是异步请求,所以你会发现会输出flag2,后输出flag1,从而导致flag2输出‘未定义’;
解决方案:把ajax设置为同步请求
var flag ;
$.ajax({
type: "POST",
url: "app/getLoginUser.do",
async : false , //设置为同步请求
dataType : "json",
success: function(data){
flag = data.flag ;
}
});
alert(flag);