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

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

在循環中定位異步 AJAX 調用中的元素

在循環中定位異步 AJAX 調用中的元素

手掌心 2021-10-14 12:43:35
我想知道使用 jquery 循環遍歷 html 元素時異步調用是如何工作的。我知道異步調用在進行服務器調用時不會停止迭代。這意味著,即使來自調用的響應尚未完成,腳本也會立即按順序迭代下一個元素。我的問題是,在每次調用時,我都設置了不同的值,如下所示:$(".businessUnit").each(function (index) {      var $element = $(this);      var iUCBU_KEY = $element.prop('data-iucbu_key');      var iENTE_KEY = $element.prop("data-iente_key");$.ajax({      method: 'post',      url: '/CodeBase/LoadInsertCATETE_BASE1/',      data: {        iUCBU_KEY: iUCBU_KEY,        iENTE_KEY: iENTE_KEY      },      success: function (response) {        //will there be $element from sequence when call was made?          $element.find('input.price').val(response.price);      },      error: function (response) {      }    });      });哪個 $element 將被更新?它是調用的 $element 還是當前迭代的 $element ?來自服務器的響應可能需要幾秒鐘,因此迭代可以在調用 - 響應之間進一步處理幾個元素。
查看完整描述

1 回答

?
繁星淼淼

TA貢獻1775條經驗 獲得超11個贊

將$element在Ajax調用會發出Ajax調用時,它具有的值。


那是因為在.each(表單中使用的回調是對其整個內容的閉包。


如果您要執行以下操作:


const businessUnits = $(".businessUnit");


for (let i = 0; i < businessUnits.length; i++){

    var $element = $( businessUnits[i] );

.

.

.

    $.ajax(....)

}

那么 的值$element很可能是最后一個元素。


查看完整回答
反對 回復 2021-10-14
  • 1 回答
  • 0 關注
  • 185 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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