Javascript 从JQuery中的对象获取每个函数的值
我有一个包含关联数组的对象 数组中存储的值是一个对象 在each函数中,我想访问value对象中的一个值(Javascript 从JQuery中的对象获取每个函数的值,javascript,jquery,json,ajax,Javascript,Jquery,Json,Ajax,我有一个包含关联数组的对象 数组中存储的值是一个对象 在each函数中,我想访问value对象中的一个值(responseText) 我的代码如下 var apiNameArray = getDataSourceApiNames(); var apiResults = {}; var deferred; for (let i = 0; i < apiNameArray.length; i++) { var ap
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);
});
});
var apiNameArray=getDataSourceApiNames();
var apiResults={};
递延风险价值;
for(设i=0;i
由于某些原因,
value.responseText
返回未定义。我应该如何访问此值/属性?我尝试了value[“responseText”]
,apirects[key]。responseText
都没有成功因为apirects
是一个对象,您可以在键之间循环,并使用apirects[key]。responseText
访问该值
$.when.apply($,apiResults)。然后(函数(){
$.each(apiResults、function(键、值){
log(apiResults[key].responseText);
});
});代码>
或
$.when.apply($,apiResults)。然后(函数(){
Object.keys('apiResults').forEach(函数(项、索引){
console.log(apiResults[item].responseText)
})
});
这里Object.keys
将返回一个对象中所有键的数组。您也可以显示ajax请求代码吗?您要查找的值似乎超出范围。请使用JSON.parse()
方法。如果第一个屏幕截图是console.log(apiResults)的OP
然后您可以简单地访问responseText,如apiResults[0]['responseText']
。您可以用循环索引替换0
call@swetanshkumar-它已经是一个仍然为apiResults[key]返回未定义的对象。responseText@mike你能不能把你的代码修改一下。根据我的理解,上面的代码应该可以工作。我如何在JSFIDLE中模拟AJAX响应?将响应保存在一个JS变量中并运行循环。我将撤销下一票并将其标记为答案-因为我的承诺不是在填充数组之前等待API成功完成。因此,当我循环遍历这些值时,它是空的(因此未定义)