0
我有一个可能需要不同时间才能完成的2个Ajax调用。我称他们为“并行”,即。在代码中发出两个Ajax请求。jquery blockui与多个ajax调用相同的对象?
如何使用blockUI在启动和完成两个调用时出现。我不想要两个面具我试图阻止相同的事情(这是一个黑客即时通讯现在正在做)。不喜欢使用全局状态等,因为可能会遇到锁定问题?
感谢,
我有一个可能需要不同时间才能完成的2个Ajax调用。我称他们为“并行”,即。在代码中发出两个Ajax请求。jquery blockui与多个ajax调用相同的对象?
如何使用blockUI在启动和完成两个调用时出现。我不想要两个面具我试图阻止相同的事情(这是一个黑客即时通讯现在正在做)。不喜欢使用全局状态等,因为可能会遇到锁定问题?
感谢,
使用一些变量来存储块状态
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;
}
}
});
[你尝试过什么?](http://mattgemmell.com/2008/12/08/what-have-you -tried /) – 2012-04-25 13:15:46
两个面具当然是相同的东西,下面的解决方案我已经知道了。以为有些更优雅? – gurpal2000 2012-04-25 22:20:15