highcharts未使用更新的数据进行渲染

highcharts未使用更新的数据进行渲染,highcharts,Highcharts,我有一个简单的折线图。但是在第一次单击之后,图表似乎没有使用更新的数据进行渲染 我第一次单击按钮,然后更新数据库中的数据。当我再次单击按钮时,最新数据不会呈现到图表中。我打印了一行什么是图表数据。它显示的是旧数据 我想不出是什么问题。这里需要帮助 <script type="text/javascript"> function renderChart(divId, chartType, chartTitle, chartData, categories){ c

我有一个简单的折线图。但是在第一次单击之后,图表似乎没有使用更新的数据进行渲染

我第一次单击按钮,然后更新数据库中的数据。当我再次单击按钮时,最新数据不会呈现到图表中。我打印了一行什么是图表数据。它显示的是旧数据

我想不出是什么问题。这里需要帮助

<script type="text/javascript">
    function renderChart(divId, chartType, chartTitle, chartData, categories){
        console.log(chartData);
            var data = jQuery.parseJSON(chartData);
            var cat = jQuery.parseJSON(categories);

                var options = createOption(divId, chartType, chartTitle, cat);
                options.series = data;
                var chart = new Highcharts.Chart(options);
        }

        function createOption(divId, chartType, chartTitle, categories){
                var options = {
                colors: ['#058DC7', '#50B432', '#ED561B', '#DDDF00', '#24CBE5', '#64E572', '#FF9655', '#FFF263', '#6AF9C4'],
                chart: {
                        backgroundColor: {
                            linearGradient: [0, 0, 500, 500],
                        stops: [
                                [0, 'rgb(255, 255, 255)'],
                                [1, 'rgb(240, 240, 255)']
                        ]
                        },
                        borderWidth: 2,
                        plotBackgroundColor: 'rgba(255, 255, 255, .9)',
                        plotShadow: true,
                        plotBorderWidth: 1,
                        renderTo: divId,
                        type: chartType
                },
                title: {
            text: 'Fruit Chart'
        },
        xAxis: {
            categories: categories
        },
        yAxis: {
            title: {
                text: 'Fruits Eaten'
            }
        },
                series: []
            };

           return options;
       }

   </script>

     <h:panelGrid id="grid" columns="1" style="margin-bottom:10px">  
    <div id="container" style="width:100%; height:500px;"></div>
 </h:panelGrid> 
 <p:commandButton styleClass="commandButton" value="This" id="btnThis" process="@form" update="grid"   
        actionListener="#{pc_Test.doLoadChartDataAction}" 
        oncomplete="renderChart('container','line','Sample Chart','${pc_Test.w_test.chartData}', '${pc_Test.w_test.categories}');"/>

控制台中有错误吗?你有现场直播吗?另外,请显示数据样本。@PawełFus在控制台中没有错误。对不起,我没有现场直播。当我第一次单击按钮时,chartData打印行是空的。在我重新启动页面并单击按钮后,chartData打印出[{“name”:“Anne”,“data”:[1,0,4]},{“name”:“Billy”,“data”:[5,7,5]}],并呈现图表。之后,我更新数据库中的数据,返回页面并单击按钮。图表数据仍然是旧数据。但当您刷新页面时,您是否已更新数据?在这种情况下,`oncomplete=“renderChart('container','line','Sample Chart','${pc_Test.w_Test.chartData}','${pc_Test.w_Test.categories}');“/>`带变量
${pc_Test.w_Test.chartData}
的行不会更新。可能您需要更新该元素,或者使用一些AJAX。
Initial data
    APPLES      BANANAS     ORANGES
Anne    1       0       4
Billy   5       7       5


Updated data
    APPLES      BANANAS     ORANGES
Anne    1       0       4
Billy   5       7       10