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同步异步的主要内容,如果未能解决你的问题,请参考以下文章

ajax同步异步问题

jquery的ajax同步和异步

ajax的async属性(控制同步和异步)

ajax同步异步

ajax的同步与异步

.Ajax(async异步与sync同步)