1 回答

TA貢獻1827條經驗 獲得超8個贊
如果你想阻止用戶發出多個并行請求,你可以設置一個標志,如果請求已經在進行中,該標志將導致功能代碼無法執行。
例如,看看requestInProgress這個例子中的標志:
var requestInProgress = false;
function checkItemd(item_id) {
if (requestInProgress == true) return false;
$("#checkBtn"+item_id).html("Processing..(Wait)").removeClass("btn-success").addClass("btn-primary");
alert("One tool checked at a time - Click OK");
var payload_string = $("#payload_form").serialize();
requestInProgress = true;
$.ajax({
type:"POST",
url:"ajax-item-check",
data:payload_string + "&itemId=" + item_id,
dataType:"json",
success:function(result){
requestInProgress = false;
if (result.result=="success") {
if (result.works=="success") {
var checkBtnMessage = result.response ? result.response : "'Sent to ' Email ";
$("#checkBtn"+item_id).html(checkBtnMessage).removeClass("btn-primary").addClass("btn-success");
}else{
$("#checkBtn"+item_id).html("Error").removeClass("btn-primary").addClass("btn-danger");
setTimeout('removeRow('+item_id+');',1000);
}
}else{
$("#checkBtn"+item_id).html("Not available to sellers").removeClass("btn-primary").addClass("btn-warning");
}
}
});
}
注意,您可能需要添加一個“錯誤”回調,以便在請求出現任何意外問題時可以再次將標志設置為 false。否則,用戶必須刷新頁面才能再次發出請求。
- 1 回答
- 0 關注
- 167 瀏覽
添加回答
舉報