async 默认是 true,也就是默认是为异步方式。$.ajax 执行后,会继续执行ajax后面的 js 脚本,服务器端返回数据后,会触发 $.ajax 里的 success 方法,这时候执行的是两个线程。
如果将它设置为 false ( async : false ),那么所有的请求都会变为同步请求,在没有返回值之前,发出的请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。
看一个示例:
var temp;
$.ajax({
async: false,
type : "post",
url : postdata.url,
datatype : 'json',
success : function( data ) {
temp = data;
}
});
alert(temp);
这个 ajax 请求是同步请求,在没有返回值之前,alert( temp ) 不会执行。
如果设置 async :true,那就不会等待 ajax 请求返回的结果,会直接执行 ajax 后面的 alert 语句。
如果将它设置为 false ( async : false ),那么所有的请求都会变为同步请求,在没有返回值之前,发出的请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。
看一个示例:
var temp;
$.ajax({
async: false,
type : "post",
url : postdata.url,
datatype : 'json',
success : function( data ) {
temp = data;
}
});
alert(temp);
这个 ajax 请求是同步请求,在没有返回值之前,alert( temp ) 不会执行。
如果设置 async :true,那就不会等待 ajax 请求返回的结果,会直接执行 ajax 后面的 alert 语句。