我们知道ajax的async设置为false时浏览器的渲染(UI)线程和js线程是互斥的,所以beforeSend是不会生效的。
那么我们在后台方法处理时长较多时怎么做一个友好的提示用户耐心等待呢。
代码:
function commit() {
$.ajax({
url:url,
data: {serialNumber: serialNumber},
beforeSend:function(){
$(document.body).mask("正在处理...请稍等...");
},
success: function(data){
if(data.code=='0000'){
show();
}else{
$(document.body).mask(“处理失败”);
}
}
}
function show(){
//此方法应该执行你想要继续执行的逻辑
alert("执行完成咯");
}
总结:
同样用异步的方法 一样能在用户体验上 像是 同步的