日期:2014-05-16  浏览次数:20678 次

for循环中先执行$ajax后面的语句
for(var j = 0; j<array_dep.length;j++){
var aa=false;
alert(2323)
$.ajax({
url:'getComDeptSt.jsp',
async:'false',
type:'post',
dataType:'xml',
data:'username='+array_name[j]+'&department='+array_dep[j],
success:function(xml){ alert(111111)
$(xml).find("User").each(function(a)
{
if($(this).children("company").text()==""||$(this).children("company").text()==null){
alert("第"+i+"行部门填写错误");
aa=true;
alert("3223"+aa)
return false;
}
});
}
});
alert("3344"+aa)
if(aa)
{alert("33"+aa)
return false;
}
}
为什么执行顺序是先打印alert("3344"+aa),然后再执行$ajax里面的东西,我想先执行$ajax再往下执行,请指点,先谢了。。


------解决方案--------------------
ajax调用不是同步实现的,而是异步实现的!~
------解决方案--------------------
Ajax是异步的嘛,调用了Ajax后直接程序返回继续执行的。
------解决方案--------------------
楼主好像犯一个低级错误.async:'false'
改为async:false