如何理解ajax的同步和异步?

时间:2021-09-01 21:25:42

对于如下一段代码:

var dataJson = {"ABC":'testABC'};
 $.ajax({
                url: "/MonkeyServlet",
                async:false,
                data:dataJson,
                contentType: "application/json; charset=utf-8",
                success: function(msg) {
                    alert(abcde);
                },
                error:function(e){
                    alert(e);
                }
  })
  alert(12345);

async:false表示同步,代码执行后的效果是浏览器先去发送请求,待请求返回后弹出"abcde",再弹出"12345"。

而如果async设置为true,则表示异步,代码执行后的效果是先发送请求,在请求返回之前会去执行下面的代码,弹出"12345",待请求返回后再弹出"abcde"。

总结:同步,表示代码的执行严格遵循先后顺序,"后面的代码"要等待"前面的代码"执行完毕后再执行。异步,代码能先执行的就执行,无需等待与服务器交互的返回。