我在一個循環內做了幾個jQuery ajax調用。每次有一個ajax調用返回時,我需要引用一個對應於原始ajax調用的值。我目前的代碼無法正常工作,因爲lskey
變量的值已被進一步的循環迭代所改變。jQuery Ajax調用循環丟失本地變量引用
下面是代碼:
for (var i = 0, len = localStorage.length; i < len; i++) {
var lskey = localStorage.key(i);
if (lskey.substr(0, 4) === 'form') {
var postdata = localStorage.getItem(lskey); // Get the form data
$.ajax({
type: "POST",
async: "false",
url: "/Profile/PostForm",
data: postdata,
success: function (data) {
$('#rollinginfo').append('<br>' + data + ',key=' + lskey);
localStorage.removeItem(lskey); // Remove the relevant localStorage entry
}
, error: function (data) { $('#rollinginfo').append('<br />ERR:' + data); }
});
}
}
的問題是,lskey
是每執行一次循環被改變,因此,成功回調不必說當時存在lskey值的參考的通話。
如何爲每個成功回調引用lskey
的正確值?
非常有用,非常感謝... – 2014-02-06 09:16:21
我在谷歌和BAM上寫了一個狡猾的奇怪搜索查詢!第一個結果是你的答案,非常感謝!和所以規則! – NaturalBornCamper 2015-03-01 04:24:31
解釋爲什麼這項工作會有所幫助。 – dshgna 2016-02-19 08:08:30