AJax技术

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

字号+ 作者:H5之家 来源:H5之家 2017-10-23 17:00 我要评论( )

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

在网上看了很多关于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,所以后面就好理解了。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • [js点击]JavaScript之Ajax技术01

    [js点击]JavaScript之Ajax技术01

    2017-10-18 17:03

  • 使用反向Ajax技术做在线客服系统

    使用反向Ajax技术做在线客服系统

    2017-08-23 18:00

网友点评
j