Ajax中的async:false作用

随声附和 提交于 2019-12-06 08:49:55

(非原创)

引自:https://www.cnblogs.com/mmzuo-798/p/7098979.html

async的默认方式是true,即异步方式,当ajax方法执行后会继续执行方法之后的脚本,直到服务器返回数据后,触发服务的success方法,这时执行的是两个线程.

async设置为false时,为同步方式,当ajax方法执行后,在没有返回值之前,浏览器页面会被锁定,只有返回值请求完毕用户才可以在页面进行操作.

示例一:这个ajax请求为同步请求,在没有返回值之前,不执行下面的代码

        $ajax({
            type:"post",
            url:"/map/checkMapName",
            data:{mapName:mapName},
            dataType:"json",
            async:false,
            success:function(data){
                aa=data;
                if(data=1){
                    lay.msg("轮播图名称不能重复!");
                    return;
                }
            }
        })

示例二:这个ajax请求为同步请求,在没有返回值之前,alert(temp)是不会执行的

果async设置为:true,则不会等待ajax请求返回的结果,会直接执行ajax后面的语句。

var temp;
$.ajax({
 async: false,
  type : "post",
  url : defaultpostdata.url,
  datatype : 'json',
  success : function(data) {
     temp=data;
  }
});
alert(temp);
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!