小仙女 i

路上偶尔会有风。

ajax同步异步

同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事

当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出去假死状态,当这个AJAX执行完毕后才会继续运行其他代码页面假死状态解除。

有了这个属性可以相对的减少代码运行顺序问题,但是如果用的太多,页面假死次数太多。这样反而导致用户体验不佳。

异步: 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕

当JS代码加载到当前AJAX的时候其他代码一样可以运行。

async默认的设置值为true,这种情况为异步方式,就是说当ajax发送请求后,在等待server端返回的这个过程中,前台会继续 执行ajax块后面的脚本,直到server端返回正确的结果才会去执行success,也就是说这时候执行的是两个线程,ajax块发出请求后一个线程 和ajax块后面的脚本(另一个线程)

如果到这里你还不明白的话,来举个例子:

同步就是你叫我去吃饭,我听到了就和你去吃饭;如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭。

异步就是你叫我,然后自己去吃饭,我得到消息后可能立即走,也可能等到下班才去吃饭。所以,要我请你吃饭就用同步的方法,要请我吃饭就用异步的方法,这样你可以省钱。

其中async是一个布尔值。如果是异步通信方式(true),客户机就不等待服务器的响应;如果是同步方式(false),客户机就要等到服务器返回消息后才去执行其他操作。我们需要根据实际需要来指定同步方式,在某些页面中,可能会发出多个请求,甚至是有组织有计划有队形大规模的高强度的request,而后一个是会覆盖前一个的,这个时候当然要指定同步方式:Flase。

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/gyrii/article/details/52370523
上一篇post和get传值
下一篇HTTP状态码响应参数返回值
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭