chart.js在我的localhost上正常运行没有任何问题但是当我在线发布它没有用...我从另一个页面使用.load接收饼图数据
在我的HTML代码下面:
<div id="canvas-holder">
<div id="arafa" hidden></div>
<canvas id="chart-area"></canvas>
</div>
以下是我的Jquery代码
window.onload = function () {
$("#arafa").load("home_reports/profit_and_loses.php", {}, function () {
var income = $.trim($('#arafa').html());
var code = income.split("|");
var first_code = code[0];
var second_code = code[1];
var pieData = [
{
value: first_code,
color:"#F7464A",
highlight: "#FF5A5E",
label: "income"
},
{
value: second_code,
color: "#46BFBD",
highlight: "#5AD3D1",
label: "expenses"
},
];
var ctx = document.getElementById("chart-area").getContext("2d");
window.myPie = new Chart(ctx).Pie(pieData);
});
}
答案 0 :(得分:0)
我认为问题是,图表函数在获取数据之前被调用。
window.onload = function () {
setTimeout(function () {
var ctx = document.getElementById("valueChart").getContext("2d");
window.myLine = new Chart(ctx).Line(lineChartData, {
responsive: true
});
}, 1000);
}
假设它只是您理解解决方案的一个示例。这里 lineChartData 是要在图表中显示的数据对象。为了在图表中处理这些数据,我使用了 settimeout 函数,延迟时间为1秒。如果问题是迟到加载,你可以检查这段代码,如果是,那么你可以创建任何其他事件处理程序来连续加载你的对象和函数。