2017-10-11 40 views
-1

如何修复错误遗漏的类型错误:无法读取的不确定上app.js财产“推”:57遗漏的类型错误:无法读取app.js的未定义的属性“推”:57

我有文件JS app.js与行代码在这里:

url = 'https://siayi.github.io/website-desa/sites.json'; 
$.getJSON(url, function (json) { 
    count = new WebsiteCounter(json); 
    $("#total").html(count.count); 
    $("#kecamatan").html(count.kecamatan); 
    $("#kabkot").html(count.kabkot); 
    console.log(count); 
    $(".render-bar").toggle(); 
    tables = new WebsiteTable(json); 
    $.each(tables, function(key,table) { 
     $("#tables").append(table); 
    }); 
}); 


function WebsiteTable(data) { 
    var tables = []; 
    var headers = ["Desa", "Kecamatan", "Kabupaten/Kota"]; 
    var formatted = { 
    "Aceh": [], 
    "Sumatera Utara": [], 
    "Sumatera Barat": [], 
    "Riau": [], 
    "Papua Barat": [] 
    }; 

    $.each(data, function(key,site) { 
    formatted[site.provinsi].push([site.title, site.kecamatan, site.kabkot, site.url]) 
    }); 
+0

在'$ .each' FUNC,** **格式为空。检查每个循环中是否存在关键site.provinsi。如果可以的话,向我们展示控制台日志。 –

+0

这里是我的控制台日志: '未捕获的TypeError:无法读取Object上未定义的 的属性'push'。 (jquery.js:368) at new WebsiteTable(app.js:56) at Object.success(app.js:9) at fire(jquery.js)() :3305) at Object.fireWith [as resolveWith](jquery.js:3435) at done(jquery.js:9242) at XMLHttpRequest。 (jquery.js:9484)' –

回答

0

您正在试图推动因素为对象,这是不可能的,试试你声明数组你把它推前和使用循环(的)来代替。

var url = 'https://siayi.github.io/website-desa/sites.json'; 
 
$.getJSON(url, function (json) { 
 
    var tables = new WebsiteTable(json); 
 
}); 
 

 

 
function WebsiteTable(data) { 
 
    var tables = []; 
 
    var headers = ["Desa", "Kecamatan", "Kabupaten/Kota"]; 
 
    var formatted = { 
 
    "Aceh": [], 
 
    "Sumatera Utara": [], 
 
    "Sumatera Barat": [], 
 
    "Riau": [], 
 
    "Papua Barat": [], 
 
    site: [] 
 
    }; 
 
    
 
    for(var site of data){ 
 
    var obj = { 
 
     kabkot: site.kabkot, 
 
     kecamatan: site.kecamatan, 
 
     provinsi: site.provinsi, 
 
     title: site.title, 
 
     url: site.url 
 
    } 
 
    
 
    formatted.site.push(obj) 
 
    
 
    } 
 
    
 
    console.log(formatted.site) 
 
    
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

相关问题