我试图创建一个for循环,该循环每次运行jQuery AJAX请求,根据id更新URL,然后根据检索到的信息输出HTML。我遇到的问题是索引值不会在for循环内的AJAX请求中更新,但是它将在AJAX请求之外进行更新,但仍在for循环中。
以下代码正在尝试执行以下操作:
<p><strong>Service fee</strong>: $<span id="svc-200002"></span></p>
<p><strong>Service fee</strong>: $<span id="svc-200003"></span></p>
var ids = []
var idCount = $("span[id^='svc-']").length;
if (idCount > 1) {
$("span[id^='svc-']").each(function () {
ids.push($(this).attr("id"));
});
for (var index in ids) {
$.get( "http://tcappslab/corp-serv-gen/5/siapi/api/v1.0/fees/" + ids[index], function( data ){
var amountsArray = data.amounts[0];
// The console log below displays the same index value each time the loop runs (not desired results)
console.log(ids[index]);
// The console log below displays different amounts each time the loop runs, meaning the index value is updating correctly in the get URL above (desired results)
console.log(amountsArray.amount);
$("#" + ids[index]).html(amountsArray.amount);
}, "json" );
// The console log below displays different values for the index each time the loop runs (desired results)
console.log(ids[index]);
};
} else {
//nothing here yet;
};
我在整个代码中添加了注释,以进一步解释我的困境。知道为什么ID索引的第一个控制台日志不会更新,而第二个控制台会更新吗?
在此先感谢您的帮助。