请问下
$(document).ready(function() {
$("#confirm").submit(function(){
var $form = $(this);
$.post($form.attr("action"),$form.serialize(),function(data){
alert("5555");
if (data.code == 0) {
alert("添加成功,红包一个工作日到账,请注意查收");
$('#myModal2').modal('toggle');
return false;
}else{
alert(data.message);
return false;
}
},"json");
// alert(); //如果有这句alert就先走到这句然后才进入回调函数,如果没有直接走到下一句return false;为什么
return false; //直接走到这里
});
});
因为是异步执行的,所以如果不加上alert,可能外侧函数已经执行到false了,但是内侧的ready还没有执行到。
你可以加上async:false
http://www.cnblogs.com/xmphoenix/archive/2011/11/21/2257651.html
ajax在没有设置底层async参数是不阻塞方法往下执行的,也就是不同步的。因为ajax是网络请求,速度一般都没有继续往下执行的本地程序快。
所以所过不设置async参数的话,成功操作最好写在success中。
设置async如果网络特别慢的话,会造成页面假死的情况,所以不建议轻易设置该参数。