使用Google Chart API获取“无法读取未定义的属性”vB'错误
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Google Chart API获取“无法读取未定义的属性”vB'错误相关的知识,希望对你有一定的参考价值。
此行发生此错误:
chart.draw(data, google.charts.Line.convertOptions(options));
错误是:
无法读取未定义的属性“vB”
这个错误由Google的Chart API精美呈现,如下所示:
该错误似乎是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()
。
我能够调试,并获取原始数据进入此调用:
数据看起来像:
答案
哎呀,f * cking Google ..这种情况发生时还没有收集数据。
data.addRows([]);
正在发生的事情,如果没有数据,显然谷歌简单就会失败。那不好,我要把它们报告给开发人员监狱。
以上是关于使用Google Chart API获取“无法读取未定义的属性”vB'错误的主要内容,如果未能解决你的问题,请参考以下文章
折线图上的 Google Chart API 无效 JSON 字符串
在Google Chart API(Javascript)中使用多个工作表