今天遇到了一个很都疼的问题。在一个函数中调用了JQuery的异步函数$.ajax ,然后在$.ajax函数外之后又有一段Jquery 代码。每次都是在$.ajax之后的代码先执行。
在网上搜了许久 终于找到了原因。拿来和大家分享分享 免得以后忘记了。
async:false
var flag=true; //async:false代表只有在等待ajax执行完毕后才执行 $.ajax({url:"EmailCheck.ashx",async:false,data: {"email":$("#email").val()} }).done(function(data) { if(data=="Fail") { flag=false; } }); if(flag) { $("#showInfo").text(""); return true; } else { alert("该邮箱已存在!"); $("#showInfo").text("该邮箱已存在"); return false; }</span>