我正在循环中进行多个jQuery ajax调用。每次ajax调用返回时,我需要引用与原始ajax调用相对应的值。我的当前代码无法正常工作,因为
以下是代码:
问题在于每次循环执行时,
如何为每个成功回调引用正确的
lskey
变量的值已经被进一步的循环迭代所改变。以下是代码:
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
值?