chart.js在我的localhost上工作正常,但它不能在线工作

时间:2015-03-27 16:10:22

标签: javascript jquery charts chart.js

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);

                });

}

1 个答案:

答案 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秒。如果问题是迟到加载,你可以检查这段代码,如果是,那么你可以创建任何其他事件处理程序来连续加载你的对象和函数。