ajax同步异步
Posted leagueandlegends
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax同步异步相关的知识,希望对你有一定的参考价值。
ajax 同步和异步区别?
我们在使用 ajax 一般都会使用异步处理。
异步处理呢就是我们通过事件触发到 ajax,请求服务器,在这个期间无论服务器有没有响应,客户端的其他代码一样可以运行。
同步处理:我们通过实践触发 ajax,请求服务器,在这个期间等待服务器处理请求, 在这个期间客户端不能做任何处理。当 ajax 执行完毕才会继续执行其他代码。
同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事异步: 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕同步需要等待返回结果才能继续,异步不必等待,一般需要监听异步的结果
同步是在一条直线上的队列,异步不在一个队列上 各走各的
jquery 的 async:false,这个属性
默认是true:异步,false:同步。举例:
同步就是你叫我去吃饭,我听到了就和你去吃饭;如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭。
异步就是你叫我,然后自己去吃饭,我得到消息后可能立即走,也可能等到忙完才去吃饭。
在项目中初始化grid值的时候,我传Id内码没有传到后台中去,原因是因为ajax是异步操作,而后请教老师,在ajax中添加了如下代码:
$.ajax({ type: "post", url: context + url_query, data:{"fumigationrecId" : primaryKey}, async:false, success: function(map) { //alert(map); if (map != null) { $.each(map, function(key, value) { $("#"+key).val(value); }); }else { sticky("获取出错", ‘error‘, ‘center‘); } } });
关键代码为:
async:false,
此句为关闭ajax的异步操作,改为同步操作,直接传Id至后台,在初始化界面时完成初始化grid的操作。
————————————————
版权声明:本文为CSDN博主「李澎昆」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_42611547/article/details/86130122
以上是关于ajax同步异步的主要内容,如果未能解决你的问题,请参考以下文章