Jquery $.ajax函数外的一段代码的执行顺序

今天遇到了一个很都疼的问题。在一个函数中调用了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的get()函数读取页面的方法
  • Jquery版本导致Ajax不执行success回调函数
  • jquery中ajax函数执行顺序问题之如何设置同步
  • jquery ajax的success回调函数中实现按钮置灰倒计时
  • jquery的ajax()函数传值中文乱码解决方法介绍
  • jQuery Tips 为AJAX回调函数传递额外参数的方法
  • jQuery AJAX回调函数this指向问题
  • 详细解读Jquery各Ajax函数($.get(),$.post(),$.ajax(),$.getJSON())
张贴在3