0

我从服务器获取 json 解码数据,并使用 $.parseJSON 对其进行解码。随后,将其分配给高图表中的系列。一切似乎都还好。没有控制台错误,但图表不会显示。

这是代码

 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="description" content="">
    <meta name="author" content="">
    <title></title>
    <script src="../assets/jquery/js/jquery-1.7.2.min.js" type="text/javascript"></script>
    <script src="http://code.highcharts.com/highcharts.js"></script>
    <script type="text/javascript">
        parent.$('iframe').height('256');
    </script>
</head>
<body style="overflow:hidden">
<div id="container" style="width:100%; height:400px;"></div>
</div>
<script>

$(function() {
series = [];

series = generateData();

function generateData()
{
   $.ajax({
    url: 'http://exact.offergrid.com/totalVisits.php',
    success: function(data) 
    {
          alert(data);
          ps = [];
          var obj = $.parseJSON(data);
          var len = obj.length;
          //alert(obj.length);
          for (var i = 0; i < len; i++) {
            //alert(obj[i].date+obj[i].count);

            var date = obj[i].date;
            var count = obj[i].count;
            ps[i] = {
                x: date,
                y: count 
            };
            series.push({
                    data: []
            });
            series[i].data.push(ps[i]);
        }
    },      
  });
            return series;
}

$('#container').highcharts({
        chart: {
            renderTo: 'container',
            type: 'column'
        },
        title: {
            text: 'Fruit Consumption'
        },
        xAxis: {

        },
        yAxis: {
            title: {
                text: 'Fruit eaten'
            }
        },
        series: series
});


});
</script>
</body>
</html>
4

2 回答 2

0

在用于生成图表数据的php(服务器端代码)代码中,将所有值转换为整数到浮点数,如下所示:$value = (float)$value;$value = (int)$value; 在将实际数据推送到图表数据数组之前。

我也遇到了和你一样的问题,但是当我这样做时,它起作用了!

于 2013-10-30T13:05:36.817 回答
0

您 php 返回的内容,因为可能您的 json 是字符串,并且没有数字值。您需要使用 parseFloat(obj[i].count)。你的数据是时间戳?

于 2013-10-31T10:56:35.560 回答