Javascript 删除google图表错误消息,并在出现';没有来自数据库的数据
这是我的谷歌图表脚本。如果没有数据,我试图显示一个空图表,并隐藏消息“没有足够的列来绘制请求的图表”。你知道我的密码有什么问题吗?当没有数据时,该错误消息仍会出现。我提到过,但对我的情况不起作用。谢谢Javascript 删除google图表错误消息,并在出现';没有来自数据库的数据,javascript,charts,google-visualization,Javascript,Charts,Google Visualization,这是我的谷歌图表脚本。如果没有数据,我试图显示一个空图表,并隐藏消息“没有足够的列来绘制请求的图表”。你知道我的密码有什么问题吗?当没有数据时,该错误消息仍会出现。我提到过,但对我的情况不起作用。谢谢 <script type="text/javascript"> // Load the Visualization API and the piechart package. google.load('visualization', '1.0', {'p
<script type="text/javascript">
// Load the Visualization API and the piechart package.
google.load('visualization', '1.0', {'packages':['corechart']});
// Set a callback to run when the Google Visualization API is loaded.
google.setOnLoadCallback(drawChartCampaign);
function errorHandler(errorMessage) {
//curisosity, check out the error in the console
console.log(errorMessage);
//simply remove the error, the user never see it
google.visualization.errors.removeError(errorMessage.id);
}
function drawChartCampaign() {
var data = google.visualization.arrayToDataTable(<?= generateChartOverview($row['campaignId'], $start_date, $end_date, false, true, $ad); ?>);
var options = {
title: '',
pointSize: 3,
animation: { duration: 1000, easing: 'out' },
hAxis: {title: 'Date', titleTextStyle: {color: '#999999'}<?php if($boolInterval){ echo " , showTextEvery : $showTextEvery"; } ?>},
vAxis: {title: 'Clicks / Views', titleTextStyle: {color: '#999999'}, viewWindowMode:'explicit', viewWindow:{ min:0 }}
};
var chart = new google.visualization.LineChart(document.getElementById('chart_div_adsdetails'));
//attach the error handler here, before draw()
google.visualization.events.addListener(chart, 'error', errorHandler);
chart.draw(data, options);
}
</script>
//加载可视化API和piechart包。
load('visualization','1.0',{'packages':['corechart']});
//将回调设置为在加载Google Visualization API时运行。
setOnLoadCallback(drawChartCampaign);
函数errorHandler(errorMessage){
//好奇,检查控制台中的错误
控制台日志(错误消息);
//只要删除错误,用户就永远看不到它
google.visualization.errors.removeError(errorMessage.id);
}
函数drawChartCampaign(){
var data=google.visualization.arrayToDataTable();
变量选项={
标题:“”,
点数:3,
动画:{持续时间:1000,'out'},
hAxis:{title:'Date',titleTextStyle:{color:'#999999'}},
变量:{title:'Clicks/Views',titleTextStyle:{color:'#999999'},viewWindowMode:'explicit',viewWindow:{min:0}
};
var chart=new google.visualization.LineChart(document.getElementById('chart\u div\u adsdetails');
//在draw()之前,将错误处理程序附加到此处
google.visualization.events.addListener(图表'error',errorHandler);
图表绘制(数据、选项);
}
我通过google事件侦听器捕获它们来管理此错误
var chart = new google.visualization.LineChart(document.querySelector('#chartContainer'));
google.visualization.events.addListener(chart, 'error', function (googleError) {
google.visualization.errors.removeError(googleError.id);
//here you can write your custom message or nothing if you want remove
alert("error catch")
});
chart.draw(yourData, yourOptions);
你知道在这种情况下你从
中得到了什么吗?是的,如果有数据,它会显示图表,并且工作正常。但是当还没有数据时,图表会显示错误信息。我理解,但是
的结果是什么?空字符串、空数组、空数组数组还是一些垃圾?arrayToDataTable()
中的参数是什么?