今天遇到了一个很都疼的问题。在一个函数中调用了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>
因为对Jquery 一直不是很精通,看来以后得花花时间学习学习了。

本文介绍了一个关于JQuery $.ajax同步问题的解决方案。在遇到$.ajax之后的代码总是提前执行的问题时,通过设置async:false使$.ajax同步运行,确保了后续代码在异步请求完成后再执行。
4617

被折叠的 条评论
为什么被折叠?



