js中ajax异步导致的一些问题

问题1:ajax默认是异步,所以在ajax中对外面定义的变量赋值,不能正确赋值

  $("form").submit(function () {         var flag;
$.ajax({
type: 'GET',
url: "@Url.Action("action", "controller")", //async: false,
success: function (data) {
if (data == "S") {
swal("该种子品种+种子批次已经存在!请勿重复添加!!", data.Msg, "warning");
flag = false;
}
else {
flag = true;
}
}
});
alert(flag);
return flag;
});

如果不加async:false这句话,alert(flag)永远都是undefined

由于是异步,没等到ajax返回结果执行success函数,先alert了。

故此时必须加上 async:false 这句话才能alert出来flag的赋值。

上一篇:UIWebView是什么


下一篇:Android开发系列之Android项目的目录结构