jQuery$.每个都正常工作,但产生TypeError

jQuery $.each functioning correctly but yielding TypeError

本文关键字:工作 TypeError 常工作 jQuery      更新时间:2023-09-26

想象一下以下数据集:

{"FakeEconomy":{
"2016-04-05":5651694,
"2016-04-06":5513759,
"2016-04-07":5410169,
"2016-04-08":5094142,
"2016-04-09":4768829,
"2016-04-10":5101458,
"2016-04-11":5776419,
"2016-04-12":5692041,
"2016-04-13":5568383,
"2016-04-14":5555027,
"2016-04-15":5116844,
"2016-04-16":4653882,
"2016-04-17":5112466,
"2016-04-18":5764588
}}

当我通过jQuery的每个函数传递它时,它工作得很好,但随后它会抛出一个随机的:

未捕获类型错误:无法读取未定义的"访问量"

以下是jQuery代码:

console.log(dataset['visits']); // Prints the data above
$.each(dataset['visits'], function(index,value) {
    pageName = index;
    $.each(dataset['visits'][index], function(index,value) {
        timeline.push(index);
        visits_data.push(parseInt(value));
        console.log(timeline);
    })
});

错误的原因是什么?

发现程序引发错误的原因是我在JavaScript文件中放置了jQuery ready函数,其中包括我上面写的函数,而不是HTML文件。

本质上,这:

$(document).ready(function(){
    var collected_results = graph_data(dataset); // Has the each function
    var visitsChart = new Chart(collected_results[0], collected_results[1]);
    var devicesChart = new Chart(collected_results[2], collected_results[3]);
    var osChart = new Chart(collected_results[4], collected_results[5]);
})

在JavaScript文件中,并且JavaScript文件的加载速度比HTML文件快。

因为JS文件的加载速度比HTML文件快,所以它会因为无法读取对象而引发错误。

相关文章: