Javascript 迭代数组并将值插入JSON url

Javascript 迭代数组并将值插入JSON url,javascript,jquery,arrays,json,Javascript,Jquery,Arrays,Json,我试图从带有for循环的数组中获取一个值,并将其插入JSON url。这是代码 myConnector.getData = function(table, doneCallback) { datasetWebId.forEach(function(v) { var webId = (v); $.getJSON("https://www.twdc/api/" + webId + "/recorded?starttime=*-3d&endtime=*"

我试图从带有for循环的数组中获取一个值,并将其插入JSON url。这是代码

myConnector.getData = function(table, doneCallback) {
    datasetWebId.forEach(function(v) {
        var webId = (v);
        $.getJSON("https://www.twdc/api/" + webId + "/recorded?starttime=*-3d&endtime=*", function(resp) {

            tableData = [];
            resp.Items.forEach(function(item) {
                item.Items.forEach(function(subItem) {
                    tableData.push({
                        'name': item.Name,
                        'Timestamp': subItem.Timestamp,
                        'Value': subItem.Value,
                        'Path': item.Path
                    });
                });
            });

        });
        table.appendRows(tableData);
        doneCallback();
    });

};

当它运行时,它会命中第一个循环,而跳过其余的循环。datasetWebId数组中存在值,因此这不是问题所在。有人能发现一些不合适的东西吗?

这里发生了一些事情。首先,我们不知道什么是“datasetWebId”。毫无疑问,这是您正在迭代发送每个AJAX请求的数组,但是如果它在一个请求之后退出,您应该
console.log
在它运行之前记录它的长度,以确保它确实有数据要迭代

第二。您有3个(!)嵌套的for循环。有一个奇怪的数据泄漏问题一点也不令人震惊,因为这是过度嵌套的主要症状之一。别担心,我们都去过。将所有这些都放在可以独立测试的单独函数中,然后开始一次运行一个函数。在确保AJAX的symbol fire响应正常工作之前,不要做任何事情


好的,你明白了。如果可以的话,请发布关于该数组的更多信息,我很乐意为您发送一份经过清理的解释。

您在datasetWebId数组的第一项末尾调用了
doneCallback
,这就是为什么它从未进行过另一次迭代

myConnector.getData = function(table, doneCallback) {
    datasetWebId.forEach(function(v) {
        var webId = (v);
        $.getJSON("https://www.twdc/api/" + webId + "/recorded?starttime=*-3d&endtime=*", function(resp) {

        tableData = [];
        resp.Items.forEach(function(item) {
            item.Items.forEach(function(subItem) {
                tableData.push({
                    'name': item.Name,
                    'Timestamp': subItem.Timestamp,
                    'Value': subItem.Value,
                    'Path': item.Path
                });
            });
        });

    });
    table.appendRows(tableData);
  });
  doneCallback(); //This has been moved.
};

请说明您的jsonJson不是问题所在,在使用循环时存在一些问题,以及Webid是如何放入irk的。因为没有它就行了@Pradyutmanaa控制台中有错误吗@勒达利认为这是另一个问题,就像一个AJAX调用(或多个调用)。我怀疑CORS是罪犯。