chart.js数据不会更新

时间:2018-02-14 02:24:08

标签: javascript jquery ajax chart.js

我试图用ajax请求获取数据来更新chart.js。 ajax请求没问题。但响应不会更新图表。 这是我获取数据的方式:

<script type="text/javascript">
$(document).ready(function(){
    $("#data-row").hide();
    $("#btnCari").click(function(){
        var periode = $("select[name='tahun']").val();
        $.ajax({
            url:"<?php echo site_url('laporan/get_keuntungan/')?>"+periode,
            success:function(data){
                var graph = data;
                    data: {
                        labels: ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli","Agustus",'September','Oktober','November','Desember'],
                        datasets: [
                            {
                                label: "Penjualan",
                                fill: true,
                                lineTension: 0.3,
                                backgroundColor: gradient1,
                                borderColor: gradient1,
                                borderCapStyle: 'butt',
                                borderDash: [],
                                borderDashOffset: 0.0,
                                borderJoinStyle: 'miter',
                                borderWidth: 1,
                                pointBorderColor: gradient1,
                                pointBackgroundColor: "#fff",
                                pointBorderWidth: 1,
                                pointHoverRadius: 5,
                                pointHoverBackgroundColor: gradient1,
                                pointHoverBorderColor: "rgba(220,220,220,1)",
                                pointHoverBorderWidth: 2,
                                pointRadius: 1,
                                pointHitRadius: 10,
                                data: [graph],
                                spanGaps: false
                            }
                        ]
                    }
                });
            $("#data-row").fadeOut("slow");
            $("#data-row").fadeIn("slow");

            }
        })
    });
    })

ajax响应如下所示:

  

&#39; 10,20,30,40,50,10,20,30,30&#39;

但它不会更新图表。

1 个答案:

答案 0 :(得分:0)

你可能忘记了两件事。

首先:您需要选择图表,如下所示:
var ctx = document.getElementById("myChart").getContext('2d');

使用:

var myChart = new Chart(ctx, {
type: 'bar',
data: {//your code to build chart}

第二:myChart.update();

chartjs.org/docs/latest/
chartjs.org/docs/latest/developers/updates.html