从JQuery中的对象获取每个函数的值

时间:2018-02-26 10:21:49

标签: javascript jquery json ajax

我有一个包含关联数组的对象

enter image description here

存储在数组中的值是Object

在每个函数中,我想访问值对象中的一个值(responseText

enter image description here

我的代码如下

 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返回undefined。我怎么想访问这个价值/财产?我尝试了value["responseText"]apiResults[key].responseText但没有成功

1 个答案:

答案 0 :(得分:1)

由于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将返回对象中所有键的数组。