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