Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 推送函数在嵌套的json调用中不起作用(使用jquery从多个API)_Javascript_Jquery_Html_Ajax_Getjson - Fatal编程技术网

Javascript 推送函数在嵌套的json调用中不起作用(使用jquery从多个API)

Javascript 推送函数在嵌套的json调用中不起作用(使用jquery从多个API),javascript,jquery,html,ajax,getjson,Javascript,Jquery,Html,Ajax,Getjson,我想使用多个JSON API创建一个HTML表。这些API相互依赖,因此我必须对它们进行嵌套的getJSON调用 我使用了嵌套的getJSON调用。然而,只有外部推力起作用,内部推力不起作用。这就是为什么创建的表中只显示城市名称的原因 在代码中进行轻微编辑: var tr; $( document ).ready(function() { $.getJSON("project.json", function(data){ $.each(data, func

我想使用多个JSON API创建一个HTML表。这些API相互依赖,因此我必须对它们进行嵌套的getJSON调用

我使用了嵌套的getJSON调用。然而,只有外部推力起作用,内部推力不起作用。这就是为什么创建的表中只显示城市名称的原因

在代码中进行轻微编辑

var tr;
   $( document ).ready(function() {
      $.getJSON("project.json", function(data){ 
          $.each(data, function(key, value){
            tr = [];
      tr.push('<tr>');
     $.each(value, function(key1, value1){
        $.getJSON("builder.json", function(data2){
        $.each(data2, function(key2, value2){
            if (key2 == key){
                //console.log(value2);
                 tr.push('<td>'+ (value2) +'</td>');
                 return;
            }
        });
      });
        tr.push('<td>'+ (value1.project) +'</td>');
        //console.log(value1.project);
        $.getJSON("city.json", function(data3){
        $.each(data3, function(key3, value3){
            if (key3 == value1.city){
                //console.log(value3);
                 tr.push('<td>'+ (value3) +'</td>');
                 return;
            }
        });
      });
        $.getJSON("price.json", function(data4){
        $.each(data4, function(key4, value4){
            if (key4 == value1.project_id){
                //console.log(value4);
                 tr.push('<td>'+ (value4) +'</td>');
                 return;
            }
        });
      });
     });
      tr.push('</tr>');
      $('#emp').append($(tr.join('')));
  });
 });
});
city.json

{
    "1":"mumbai",
    "2":"delhi",
    "3":"pune",
    "4":"banglore"
}
project.json

{
   "1":[
       {"project_id":1,"project":"Alamiz City","city":1},
       {"project_id":2,"project":"Alamiz Tech City","city":1},
       {"project_id":3,"project":"Alamiz Down Town","city":3},
       {"project_id":10,"project":"Alamiz Nature","city":2}
   ],
   "3":[
       {"project_id":4,"project":"The Tech Sky","city":1},
       {"project_id":5,"project":"Alphonso","city":1}
   ],
   "4":[
       {"project_id":6,"project":"Royal Tech","city":4},
       {"project_id":7,"project":"Future City","city":4}
   ],
   "6":[
       {"project_id":8,"project":"Zahi Skyline","city":1}
   ],
   "2":[
       {"project_id":9,"project":"Souras City","city":4}
   ]
}    
price.json

{
   "1":"2cr",
   "2":"3.5cr",
   "3":"1cr",
   "4":"2cr",
   "5":"4cr",
   "6":"4cr",
   "7":"5cr",
   "8":"3cr",
   "9":"7cr",
   "10":"6cr"
}

$。每个都是异步的,当它在同步的for循环中运行时,for循环在任何回调触发之前完成


$。getJSON()是一个异步请求。这里到处都是同步和异步逻辑的混合。我建议尝试实现,给它所有四个
getJSON
调用,然后是
when()的
then()
将同时接收所有响应,以便您根据需要进行处理。格式化JSON API结果会很有帮助。我对代码进行了一些编辑。现在我不明白的是,只有城市被添加到表中。该表列出了建筑商项目城市价格。如何将它们全部插入表中?@Taplar您能否编辑此代码并为我提供解决方案。
$。每个
都绝对不是异步的
{
   "1":[
       {"project_id":1,"project":"Alamiz City","city":1},
       {"project_id":2,"project":"Alamiz Tech City","city":1},
       {"project_id":3,"project":"Alamiz Down Town","city":3},
       {"project_id":10,"project":"Alamiz Nature","city":2}
   ],
   "3":[
       {"project_id":4,"project":"The Tech Sky","city":1},
       {"project_id":5,"project":"Alphonso","city":1}
   ],
   "4":[
       {"project_id":6,"project":"Royal Tech","city":4},
       {"project_id":7,"project":"Future City","city":4}
   ],
   "6":[
       {"project_id":8,"project":"Zahi Skyline","city":1}
   ],
   "2":[
       {"project_id":9,"project":"Souras City","city":4}
   ]
}    
{
   "1":"2cr",
   "2":"3.5cr",
   "3":"1cr",
   "4":"2cr",
   "5":"4cr",
   "6":"4cr",
   "7":"5cr",
   "8":"3cr",
   "9":"7cr",
   "10":"6cr"
}