我有2个ajax调用,可能需要不同的时间才能完成。我把它们称为“并行”,即。在代码中发出两个ajax请求。
如何在BOTH调用的启动和完成时使用blockUI。我不想在我试图阻止的同一件事上有两个面具(这是我现在正在做的黑客攻击)。不想使用全局状态等,因为可能会遇到锁定问题?
感谢,
答案 0 :(得分:0)
使用某个变量来存储块状态
var isBlocked = false;
//First ajax call.
$.ajax({type: "POST",
url: "/some/url1",
data: {"param1":value1},
beforeSend: function() {
if(!isBlocked) {
$('#my_div').block({message: null});
isBlocked = true;
}
},
success: function(data) {
// code
},
error: function(request, textStatus, errorThrown) {
// code
},
complete: function(request, textStatus){
if(isBlocked){
$('#my_div').unblock();
isBlocked = false;
}
}
});
//Second ajax call.
$.ajax({type: "POST",
url: "/some/url2",
data: {"param1":value1},
beforeSend: function() {
if(!isBlocked) {
$('#my_div').block({message: null});
isBlocked = true;
}
},
success: function(data) {
// code
},
error: function(request, textStatus, errorThrown) {
// code
},
complete: function(request, textStatus){
if(isBlocked){
$('#my_div').unblock();
isBlocked = false;
}
}
});