Ajax的请求方式根据异步参数的不同,可分为同步异步,默认为异步请求真
async:true //异步
async:fasle //同步
同步请求即当Ajax发出请求后,会把页面的所有代码停止加载,即页面进入假死状态,必须等Ajax请求 福运来源码搭建QQ:2152876294 网址diguaym.com
完成返回数据后,才会解除假死状态,继续执行其他代码。
异步请求则这个Ajax代码运行的时候其他代码一样可以运行。
$.ajax({
type:"POST",
url:"${staticServer}/test",
dataType:"html",
success:function(result){ //function1()方法一
f1();
f2();
}
failure:function (result) {
alert(‘Failed‘);
},
}
function2();//方法二
当把async设为false时,这时ajax的请求是同步的,当ajax块发出请求后,会等待在方法一
function1()这里,不会去执行function2(),直到function1()部分执行完毕。
当把async设为true时,这时ajax的请求是异步的,当ajax块发出请求后,会将function1()停留,
同时function2()会执行。
总结:异步请求可以理解为两个线程,一个线程请求后台,一个线程执行JS脚本的其他代码;同步请求为单线程,一个一个来。
写页面时,发现遮罩层样式装载不管用,必须写定时器才好用,今天发现当AJAX请求方式为同步的时候,装载会不显示,个人分析是因为同步请求将前台所有代码停止,而当后台请求回来后又设置了隐藏,所以看不出效果来。
原文地址:http://blog.51cto.com/13910760/2155224