如何理解ajax的同步和异步?
对于如下一段代码:
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"。
总结:同步,表示代码的执行严格遵循先后顺序,"后面的代码"要等待"前面的代码"执行完毕后再执行。异步,代码能先执行的就执行,无需等待与服务器交互的返回。