我在这个代码上有很多问题,这是我正在学习数据表示的 uni 项目的一部分。
我正在使用 chart.js 库,这是示例饼图之一的代码,其中所有数据都被硬编码。当我在本地启动 HTML 文件时,此代码工作正常,出现图表,它是标签是动态的,一切都很好。
但是,一旦我将这个文件与项目的其余部分一起加载(这是一个使用 Javalin/JDBC 设置的 Java 接口,它正在加载所有 HTML 文件,最终将处理来自数据库的数据并将其注入 HTML 和JS) 图表不会出现在浏览器中。
我在此设置中使用了来自 chart.js 的其他图表,在此过程中我也遇到了此错误并且无法解决它,而是随着我继续弄乱代码而导致错误自行解决。
这是代码:
<canvas id="myDoughnutChart" width=200 height=200></canvas>
<script>
var ctx = document.getElementById("myDoughnutChart");
var myDoughnutChart = new Chart(ctx, {
type: 'pie',
data: {
datasets: [{
label: '# of Tomatoes',
data: [12, 19, 3, 5],
backgroundColor: [
'rgba(255, 99, 132, 0.2)',
'rgba(54, 162, 235, 0.5)',
'rgba(255, 206, 86, 0.2)',
'rgba(75, 192, 192, 0.2)'
],
borderColor: [
'rgba(255,99,132,1)',
'rgba(54, 162, 235, 1)',
'rgba(255, 206, 86, 1)',
'rgba(75, 192, 192, 1)'
],
borderWidth: 1
}]
},
options: {
//cutoutPercentage: 40,
responsive: false,
}
});
</script>
我已经使用检查功能仔细检查了浏览器中画布和脚本元素的状态,并且代码都在那里,与文件中的代码相同(javalin 设置没有错误解析任何内容)
我必须找到问题的唯一信息是 chrome 检查元素控制台中的错误: 输入意外结束 此错误消息的问题是它无法告诉我有关错误位置的任何信息作为 javalin 设置我正在使用(我的大学坚持我们用于该项目)将每个文件的 html 编译为一个长字符串,这意味着某些 chrome 检查元素功能无法使用。
现在我知道这个错误的罪魁祸首通常是缺少括号或其他东西。我已经检查了这个问题的脚本代码,但我对 javascript 很陌生,也许我错过了一些东西!无论如何,如果有人对这个问题有一些指示,任何反馈都将不胜感激。
以供参考: