jQuery:从文本文件中读取信息并使用文本中的内容

时间:2013-10-10 22:36:25

标签: jquery html highcharts

我是一个使用jQuery的新手,我正在使用Highcharts制作图表。

我正在设置一个加载页面的功能,每5秒刷新一次。在那5秒钟内,我想在图表系列中添加一个新点。将一个新点添加到其中一个系列时我没有问题,但是当我尝试将所有点添加到系列中的所有项目时,它将无法工作。

代码:

chart: {
    renderTo: 'container',
    type: 'line',
    events: {
        load: function() {  
            var newdata = [];
            // set up the updating of the chart each second
            setInterval(function() {
               var x = (new Date()).getTime(); // current time
                $.get('newdata.text', function(data) {
                  var lines = data.split("\n");
                  $.each(lines, function(n,elem) {
                    newdata[n] = elem;
                  });
                  chart.series[0].addPoint([x, newdata[0]], false, true);
                  chart.series[1].addPoint([x, newdata[1]], false, true);
                  chart.series[2].addPoint([x, newdata[2]], false, true);
                  chart.series[3].addPoint([x, newdata[3]], false, true);
                  chart.series[4].addPoint([x, newdata[4]], false, true);
                  chart.series[5].addPoint([x, newdata[5]], false, true);
                  chart.series[6].addPoint([x, newdata[6]], false, true); 
                }, "text"); 
              chart.redraw();
            }, 5000);
        }
    }
},

文本文件的输出是:

107
0.00
0.00
0.00
60
0.00
0.00

当我在控制台中查看此代码时,我收到错误,即文本文件的语法导致错误 - 请注意我将它们与\n分开。

1 个答案:

答案 0 :(得分:0)

您需要将您的值解析为数字,因此请尝试使用

chart.series[0].addPoint([x, parseFloat(newdata[0])], false, true);