ajax中async同步和异步的区别和使用技巧

在网上看了很多关于ajax中同步和异步的区别,这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出去假死状态,当这个AJAX执 行完毕后才会继续运行其他代码页面假死状态解除。 

而异步则这个AJAX代码运行中的时候其他代码一样可以运行。 

下面贴上一段代码进行分析。

function createTable(){
var data = getAllLocation();  //调用getAllLocation()函数
var locationList = data.locationList;   这的data.locationList中的locationList是后台中的,是位置的集合。
if(locationList.length<=0){
$('#noData').css("display","block");
}else{
$('#noData').css("display","none");
$.each(locationList, function(i) {
$('#tagTable tbody').append('<tr>');
$('#tagTable tbody').append('<td title="" valign="top" nowrap><input csaId="'+this.id+'" type="checkbox" value="" /></td>');
$('#tagTable tbody').append('<td title="'+this.engineRoom+'"  nowrap>'+this.engineRoom+'</td>');
$('#tagTable tbody').append('<td title="'+this.cabinet+'"  nowrap>'+this.cabinet+'</td>');
$('#tagTable tbody').append('</tr>');
});
}
}

//获取位置信息
function getAllLocation(){
var dataJson = null;
$.ajax({
type:'POST',
async:false,
dataType:'json',
url:'getAllLocation',
success:function(data){
dataJson = data;
}
});
return dataJson;
}


通过上面的代码,如果async:false表示同步,这时页面处于假死状态,ajax后面的代码不会去执行。程序运行不会出现问题。

当把async中的false改成true时,运行会报错。


因为,直接执行了代码returna dataJson,所以后面就好理解了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值