ajax之async属性
Posted ncwoniu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax之async属性相关的知识,希望对你有一定的参考价值。
原文链接:https://www.cnblogs.com/zhaotiancheng/p/7428799.html
实际项目中,ajax可以说是非常、非常、非常 常用的。而ajax默认是 异步请求
而有的时候 ajax的异步却不是特别的好用
//查询当前餐桌类型下有多少个餐桌 function tableCount(tableTypeId) var count = 0; $.ajax( data: restaurantId:‘$restaurantId‘, businesstimeid:timeId, predetermine:$(‘#orderdate‘).datebox(‘getValue‘), currentDate:parent.currentDate, theBsnssTimId:parent.theBsnssTimId, typeId:tableTypeId , url:‘$ctx/cater/caterTable/selectByTimeAndDuetotype‘, dataType:"JSON", type:"POST", async:false, success:function(result) count = result.length; ); return count;
调用这个方法时(方法的参数无视)
var count = tableCount(record.id); $(‘#booksTableCount‘).html(count+‘桌‘);
这里我先贴上同步的代码 ,然后我说一下 同步和异步的区别
async:false 这个属性是同步请求,即在服务器返回值之前不再加载下面的代码,默认值为true(不写的时候为true异步请求)
当我没有写async:false的时候, 这个方法返回的值为0 因为 方法还没有返回值的时候 下方代码已经加载完 那么count 有个默认值是0 :
未返回值,下面的方法便开始执行了,所以会显示成0
当加上async:false的时候,代码不再继续加载,等到服务器返回值之后才继续走,即走了success之后 才继续执行下面的代码 才有返回值
什么时候返回值,才会继续加载其他代码
以上是关于ajax之async属性的主要内容,如果未能解决你的问题,请参考以下文章