遇到了一个ajax,看到了一个属性,async,是用来设置同步执行,或者是异步执行的
举一个例子:
$.ajax({
url: '../abc/aaa/sss/ddd'
, async: false
, type: 'post'
, data: requestData
, headers: {
id: sessionStorage.getItem('userId'),
token: sessionStorage.getItem('userToken')
}
, success: function (ret) {
if (ret.code == 0) {
layer.close(index);
table.reload('table_item', {
url: '../abc/aaa/sss/fff'
, headers: {
id: sessionStorage.getItem('userId'),
token: sessionStorage.getItem('userToken')
}
});
layer.close(index);
}
else if (ret.code == 40004) {
window.location.href = "/login.html";
}
/*else {
layer.msg(ret.msg);
}*/
},
error: function () {
layer.msg('操作异常,请联系系统管理员');
}
});
alert("执行");
当async属性的值为false时是同步的,Ajax请求将整个浏览器锁死,只有ajax请求返回结果后,才执行ajax后面的alert语句。
当async属性的值为true时是异步的,即不会等待ajax请求返回的结果,会直接执行ajax后面的alert语句。