亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何讓 jQuery 等待 Ajax 調用完成后再返回

如何讓 jQuery 等待 Ajax 調用完成后再返回

PHP
MM們 2023-07-08 16:31:47
我的服務器很弱當客戶端重復請求ajax服務時,服務器停止工作頻繁需求ajax我的服務器變弱了我只想提出一個請求。完成后,他將能夠提出另一個請求function checkItemd(item_id){$("#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();$.ajax({    type:"POST",    url:"ajax-item-check",    data:payload_string + "&itemId=" + item_id,    dataType:"json",    success:function(result){        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");        }        }});return false;
查看完整描述

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。否則,用戶必須刷新頁面才能再次發出請求。


查看完整回答
反對 回復 2023-07-08
  • 1 回答
  • 0 關注
  • 167 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號