使用Google Chart API获取“无法读取未定义的属性”vB'错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Google Chart API获取“无法读取未定义的属性”vB'错误相关的知识,希望对你有一定的参考价值。

此行发生此错误:

  chart.draw(data, google.charts.Line.convertOptions(options));

错误是:

无法读取未定义的属性“vB”

这个错误由​​Google的Chart API精美呈现,如下所示:

enter image description here

该错误似乎是Google Chart库的内部错误。我的代码如下,它适用于我正在使用的一台服务器,但不适用于其他服务器,我无法弄清楚为什么会发生这种错误!

<html>
<head>

  <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
  <script type="text/javascript">

    debugger;

    google.charts.load('current', {'packages': ['line']});
    google.charts.setOnLoadCallback(drawChart);

    {
      var to;
      window.addEventListener('resize', function (event) {
        clearTimeout(to);  // throttle this call
        if( window.memvizIsReady){
          to = setTimeout(drawChart, 500);
        }
      });
    }

    function drawChart() {

      window.memvizIsReady = true;

      var data = new google.visualization.DataTable();
      data.addColumn('number', 'Time unit');
      data.addColumn('number', 'RSS');
      data.addColumn('number', 'Heap Total');
      data.addColumn('number', 'Heap Used');

      data.addRows(JSON.parse('{{{aa}}}'));

      var options = {

        hAxis: {title: "Entry every {{{ms}}} milliseconds."},
        vAxis: {title: "Memory in Megabytes", format: 'decimal'},

        chart: {
          title: 'Node.js memory usage (RSS, Heap Used, Heap Total)',
          subtitle: '(In megabytes.)'
        },

        width: window.innerWidth - (window.innerWidth)/20,
        height: window.innerHeight - (window.innerHeight)/20,

        axes: {
          x: {
            0: {side: 'top'}
          }
        }
      };

      var chart = new google.charts.Line(document.getElementById('line_top_x'));
      chart.draw(data, google.charts.Line.convertOptions(options));
    }


  </script>

</head>
<body>
<div id="line_top_x"></div>
</body>
</html>

有谁知道这个错误可能是什么?使用布尔值memvizIsReady应该防止在事情准备好之前调用drawChart()

我能够调试,并获取原始数据进入此调用:

enter image description here

数据看起来像:

enter image description here

答案

哎呀,f * cking Google ..这种情况发生时还没有收集数据。

 data.addRows([]);

正在发生的事情,如果没有数据,显然谷歌简单就会失败。那不好,我要把它们报告给开发人员监狱。

以上是关于使用Google Chart API获取“无法读取未定义的属性”vB'错误的主要内容,如果未能解决你的问题,请参考以下文章

折线图上的 Google Chart API 无效 JSON 字符串

在Google Chart API(Javascript)中使用多个工作表

Google chart api折线图:单位不匹配点

在 html 页面中使用 Ajax 加载 Google Chart Api

带线条的 Google API 饼图

Google Chart Api 利用日期时间值