我有一个包含关联数组的对象
存储在数组中的值是一个对象
在每个函数中,我要访问值对象(responseText
)中的一个值
我的代码如下
var apiNameArray = getDataSourceApiNames();
var apiResults = {};
var deferred;
for (let i = 0; i < apiNameArray.length; i++) {
var apiName = apiNameArray[i];
console.log("apiName = " + apiName);
deferred = $.ajax({
type: "GET",
url: api_URL + "memberdetails/" + memberNumber,
contentType: "application/json; charset=utf-8",
dataType: "json"
}
);
apiResults[apiName] = deferred;
}
$.when.apply($, apiResults).then(function () {
console.log(apiResults);
$.each(apiResults, function (key, value) {
console.log(key);
console.log(value);
console.log(value.responseText);
});
});
由于某些原因,
value.responseText
返回未定义。我应该如何访问此值/属性?我尝试value["responseText"]
,apiResults[key].responseText
都没有成功 最佳答案
由于apiResults
是对象,因此您可以循环浏览键并使用apiResults[key].responseText
访问该值。$.when.apply($, apiResults).then(function () { $.each(apiResults, function (key, value) { console.log(apiResults[key].responseText); }); });
要么$.when.apply($, apiResults).then(function () { Object.keys('apiResults').forEach(function(item, index){ console.log(apiResults[item].responseText) })});
在这里,Object.keys
将返回对象中所有键的数组。