首页 > 解决方案 > JustGage 用 jquery 刷新

问题描述

我正在使用 jquery 来刷新我的 JustGage 仪表。我从控制器取回数据,一切正常,直到最终电脑内存不足并死机。我有 9 个仪表和 2 个饼图需要刷新。setInterval 调用是问题所在,因为它每秒触发一次,而不是等待 120000 毫秒。我对 setInterval 做错了吗?

<script>
window.onload = function () {
     var g9 = new JustGage({
        id: "gage9",
        value: '@ViewBag.TotalNeuro',
        min: 0,
        max: 150,
        counter: true,
        label: "Total Neuro",
        labelMinFontSize: 11,
        formatNumber: true,
        customSectors: {
            //percents: true,
            ranges: [
                { lo: 0, hi: 33, color: '#f0f016' }, // lo and hi values are in %
                { lo: 34, hi: 67, color: '#f59a1b' },
                { lo: 68, hi: 100, color: '#e0121c' }
            ]
        },
        levelColorsGradient: false,
        gaugeWidthScale: 0.9,
        startAnimationTime: 2700,
        startAnimationType: "bounce",

    });
    setInterval(function () {

    var TotalNeuroUrl = '@Url.Action("TotalNeuro")';
    $.getJSON(TotalNeuroUrl, {}, function (dataNeuro) {
    g9.refresh(dataNeuro);
        }, 120000);
    });
};

标签: javascriptjqueryasp.net-core-2.0

解决方案


看来你使用setInterval不正确,参考https://www.w3schools.com/jsref/met_win_setinterval.asp

尝试将其修改为:

setInterval(function () {

    var TotalNeuroUrl = '@Url.Action("TotalNeuro")';

    $.getJSON(
        TotalNeuroUrl,
        {},
        function (dataNeuro) {
          g9.refresh(dataNeuro);
        }
    );
},120000);

推荐阅读