Javascript 图.Js-“;无法读取属性';数据集';“未定义”的定义;尝试更新图表时

Javascript 图.Js-“;无法读取属性';数据集';“未定义”的定义;尝试更新图表时,javascript,chart.js,Javascript,Chart.js,关于如何动态更新chart.js图表,我在这里已经研究了很多线程。我已经尽我所能地遵循答案,但是每次我试图用数据库中的数据定期更新图表时,我都会遇到上述错误 我声明mountaincontent,当页面完全加载时,它将成为图表对象。在document ready函数中存在GetStatUpdate函数,该函数定期调用数据库,以检索关于主客场球队对足球比赛的积极和消极情绪的数据。 在检索数据时,它将首先创建图表(当statsRenderCount为0时,它会这样做),然后更新它。它正确地使用初始调

关于如何动态更新chart.js图表,我在这里已经研究了很多线程。我已经尽我所能地遵循答案,但是每次我试图用数据库中的数据定期更新图表时,我都会遇到上述错误

我声明
mountaincontent
,当页面完全加载时,它将成为图表对象。在document ready函数中存在
GetStatUpdate
函数,该函数定期调用数据库,以检索关于主客场球队对足球比赛的积极和消极情绪的数据。
在检索数据时,它将首先创建图表(当statsRenderCount为0时,它会这样做),然后更新它。它正确地使用初始调用中的数据创建图表的第一部分,但是后续调用将输入else语句并尝试更新图表。在这里,我收到了“无法读取未定义的属性‘数据集’”错误

就我的理解而言,它好像没有意识到
mountaincontent
的存在,好像它不在它的范围内,但是我知道这不可能是正确的,因为我在文档就绪加载函数的一开始就声明了这一点,而
getstatupdate()
位于该函数中。所以,
mountaincontent
肯定不能是未定义的

$(document).ready(function(){
var sentimentMainContent = 0;
    ...
    ...
    ...
function getStatsUpdate(){
    ...
    var result = initialResponse.split("___");
tweet_time = result[0]
home_avg = result[1];
home_positive = result[2];
home_negative = result[3];
home_neutral = result[4];

away_avg = result[5];
away_positive = result[6];
away_negative = result[7];
away_neutral = result[8];

var home_sentiment = {
                        labels: [
                            homeTeam + " Positive",
                            homeTeam + " Negative",
                            awayTeam + " Positive",
                            awayTeam + " Negative",
                        ],
                        datasets: [
                            {
                                data: [home_positive, home_negative, away_positive, away_negative],
                                backgroundColor: [
                                    "#F5003F",
                                    "#3C9BFF",
                                    "#26FF9A",
                                    "#FFE951"
                                ],
                                borderColor: [
                                    "black",
                                    "black",
                                    "black",
                                    "black",
                                    "black",
                                    "black"
                                ],
                                borderWidth: [
                                    "0.5",
                                    "0.5",
                                    "0.5",
                                    "0.5",
                                    "0.5",
                                    "0.5",
                                ],
                                hoverBackgroundColor: [
                                    "#F5003F",
                                    "#FAFAFA",
                                    "#3C9BFF",
                                    "#26FF9A",
                                    "#FF5720",
                                    "#FFE951"
                                ]
                            }
                        ]
                    };

if(statsRenderCount == 0)
{
    alert("re-rendering!");
    sentimentMainContent = new Chart(document.getElementById("sentiment-stat"), {
        type: 'doughnut',
        data: home_sentiment,
        options: {
                cutoutPercentage: 60,
                responsive: true,
                legend: {
                    display: false
            },
            tooltips: {
                filter: function(item, home_sentiment) {
                    var label = home_sentiment.labels[item.index];
                    if (label) return item;
                }
            }
        }
    });
    statsRenderCount += 1;
}
else
{
    alert("updating");
    sentimentMainContent.home_sentiment.datasets[0] = home_sentiment;
    sentimentMainContent.update();
}
}
我还尝试了
mountainmaincontent.home\u commotion=home\u commotion
因为该方法似乎存在缺陷,即
感情用事MainContent.home\u情绪。数据集[0]
表示数据集数组,我将整个home\u情绪变量分配给它,这似乎不正确。不管怎样,当我进行此更改时,不会发生错误,但是图表根本不会更新

有什么明显的东西我忽略了吗