【问题标题】:Drawind Dynamic series and points with Highchart and ajax使用 Highchart 和 ajax 绘制动态系列和点
【发布时间】:2013-08-10 18:23:07
【问题描述】:

我尝试从员工那里获取几组数据,并通过 HighCharts 将它们绘制出来。 在用户点击之前我不知道公司,所以我通过 ajax 获得所有员工及其数据(点)。

我有一个选择框,我可以在其中选择公司。完成后,我通过 AJAX/jQuery 调用服务器以将数据添加到 HighChart:

    $("#company").change(function(){     
            $.ajax({
                type: 'POST',
                dataType: 'json',
                url: xxxxx,
                async: false,
                data: { company: company},
                success: function(data) {
                     $.each(data, function(val, text) {
                        alert (val);
                        alert (text);
                        chart2.addSeries({
                            name: val,
                            data: text
                        });
                    });   
                }
            ...

我通过 Firebug 从服务器获取的数据是这样的:

{"Employee1":[["1356908400000","10.00"],["1359586800000","11.00"],  ["1362006000000","12.00"],["1364684400000","13.45"]],"Employee2":[["1356908400000","10.00"],["1359586800000","11.00"],["1362006000000","12.00"],["1364684400000","13.45"]]}

Employee1 和 Employee2 应该是系列。 但是,当我调用 adderies 方法时,出现此错误:

Uncaught Highcharts error #14: www.highcharts.com/errors/14 

似乎数据不喜欢 Highcharts。 当我通过警报进行调试时,我得到了这个:

alert (val)->Employee1
alert (text)=1356908400000,10.00,1359586800000,11.00,1362006000000,12.00,1364684400000,13.45

当我在没有 ajax 的情况下放置数据时,此示例运行良好。

有什么想法吗?

【问题讨论】:

    标签: javascript jquery ajax highcharts


    【解决方案1】:

    我找到了答案:-)

    text 是一个数组,所以我需要另一个 $.each 来读取它并格式化结果:

    success: function(data) {
                        $("html").css('cursor','auto');
                        $.each(data, function(val, text) {
                            counter = 0;
                            $.each(text, function() {
                                if (counter==0) {
                                    employee_data=  "[" + this + "]";
                                }
                                else{
                                    employee_data= employee_data + "," + "[" + this + "]";
                                }
                                counter=1
                            });
    
                            employee_data = "["+ + "]";
                            chart.addSeries({
                                name: val,
                                data: employee_data
                            });
                        });   
                    },
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-25
      • 2016-11-13
      • 1970-01-01
      • 1970-01-01
      • 2019-01-21
      相关资源
      最近更新 更多