ajax中async设置为false与true的区别

jquery中ajax方法有个属性async用于控制同步和异步,默认是true,即ajax请求默认是异步请求,有时项目中会用到AJAX同步。这个同步的意思是当JS代码加载到当前AJAX的时候会把页面里所有的代码停止加载,页面出现假死状态,当这个AJAX执行完毕后才会继续运行其他代码页面假死状态解除。而异步则这个AJAX代码运行中的时候其他代码一样可以运行。

$('input[type=button]').click(function(){
  $.ajax({
    url:'/user',
    type:'get',
    data:$('form').serializeArray(),
    async:true,
    success:function(res){
      alert('success')
    },error:function(err){
      console.log('err')
    }
  })
  alert('after click')
})

例如,以上代码中:
当async设置为true时,点击按钮后,会先alert(‘after click’),之后请求完毕才会alert(‘success’)。
当async设置为false时,点击按钮后,则会造成阻塞,阻止下面的代码执行,只有执行完ajax请求,才会去执行后面的代码。

posted @ 2021-02-22 10:28  Jansens  阅读(60)  评论(0编辑  收藏