Highcharts 中文社区

查看: 293|回复: 0

[JS 数据处理] hightcharts series接收数据问题

[复制链接]

该用户从未签到

2

主题

2

帖子

19

积分

HC 新手

Rank: 1

积分
19
发表于 2019-12-3 15:13:37 | 显示全部楼层 |阅读模式
这几天遇到一个问题,还请前辈们能够帮我解决下!!
问题如下:我准备画甘特图,前端从xml文件中解析数据,我是按照文档教程里解析xml文件的方式解析的,但是总是报错!!!!代码如下:
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>Highcharts Gantt Example</title>
    <style type="text/css">
        #container {
            max-width: 100%;
            margin: 1em auto;
        }
    </style>
</head>
<body>
    <script src="\Scripts\jquery-3.3.1.js"></script>  
    <script src="http://cdn.highcharts.com.cn/gantt/highcharts-gantt.js"></script>
      
    <div id="container"></div>

    <script type="text/javascript">   
        //现在按分钟来算

        var today = new Date(), day = 1000 * 60;//一分钟内的毫秒数            
        console.log('today:' + today);
        console.log('today.getTime():' + today.getTime());//当天时间的毫秒数

        var sTime = new Date(2019, 4, 10, 09, 00, 00);
        console.log('sTime:' + sTime);
        console.log('sTime.getTime():' + sTime.getTime());//开始时间的毫秒数  

        sTime.setUTCHours(8);  //加8个小时为当天的时间
        //sTime.setUTCMinutes(0);         
        //sTime.setUTCSeconds(0);
        //sTime.setUTCMilliseconds(0);                     
        console.log('sTime加了八个小时之后:' + sTime);
        //console.log('sTime.getTime():' + sTime.getTime());//开始时间的毫秒数  

        $.get('a.xml', function (xml) {
            var options = {
                title: {
                    text: 'Highcharts Gantt With Subtasks'
                },
                xAxis: {
                    min: sTime.getTime() - (0 * day),
                    max: sTime.getTime() + (8 * 60 * day)//表示最一行显示的小时数,这里应该要根据总时间的大小进行调节
                },
                //用于在图上显示名字            
                plotOptions: {
                    series: {
                        dataLabels: {
                            enabled: true,
                            format: '{point.name}',
                            style: {
                                cursor: 'default',
                                pointerEvents: 'none'
                            }
                        }
                    }
                },
                series: []
            };

            // 分隔行
            var $xml = $(xml);      

            $xml.find('series').each(function (i, series) {   

                var seriesOptions = {   
                    name: $(series).find('name').text,
                    //data_name: $(series).find('data name').text,
                    //id: $(series).find('data id').text,
                    //start: $(series).find('data start').text,
                    //end: $(series).find('data end').text
                };

                //// 将数据列对象 push 到数据列数组里
                options.series.push(seriesOptions);
            });
            
            var chart = Highcharts.ganttChart('container', options);

        });

    </script>



</body>
</html>


报错信息如下:
Uncaught TypeError: Cannot read property 'forEach' of undefined
    at highcharts-gantt.js:564
    at Array.forEach (<anonymous>)
    at Object.c.ganttChart (highcharts-gantt.js:564)
    at Object.success (Gannt2_jquery.html:85)
    at fire (jquery-3.3.1.js:3268)
    at Object.fireWith [as resolveWith] (jquery-3.3.1.js:3398)
    at done (jquery-3.3.1.js:9305)
    at XMLHttpRequest.<anonymous> (jquery-3.3.1.js:9548)

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

快速回复 返回顶部 返回列表