我有一个不寻常的问题,无法确定为什么会这样。我已经创建了一个对象,并从循环中更新了值。该循环完成后,我尝试访问一个未定义的值。我认为这可以通过向我展示代码来最好地证明。谁能帮助我了解这里的事吗?
function loadCounts() {
var counts = {
enroll: {},
term: {},
change: {}
};
var forms = [
"enroll/pending",
"enroll/approved",
"term/pending",
"term/approved",
"change/pending",
"change/approved",
];
$.each(forms, function( index, value ) {
if (!(value.split("/")[0] in counts)) {
counts[value.split("/")[0]] = {};
}
$.ajax({
url: apiURL+'/online/payroll/admin/dashboard/counts/'+value,
headers: { 'Authorization': 'Bearer ' + sessionStorage.getItem('apiToken') },
crossDomain: true,
method: 'GET',
dataType: 'json',
success: function(response) {
counts[value.split("/")[0]][value.split("/")[1]] = response.count;
},
error: function (XMLHttpRequest) {
console.log("error", XMLHttpRequest)
}
});
});
console.log('count object:', counts)
console.log('enroll object:', counts.enroll)
console.log('pending count:', counts.enroll.pending)
}
loadCounts();
结果在控制台中:
相关分类