开发者社区> 问答> 正文

关于highcharts的参数传递问题

本人最近用highcharts的column控件开发图形页面。

现在正在开发一个ajax动态更新column的功能,但遇到点小疑惑,请用过的童鞋帮忙看看.

代码如下:

function drawChart(data){
    var title,c,d;
    if("undefine"==data){
        title = '';
        c='';
        d='';
    }else{
        title=data[0].title;
        c=data[0].categories;
        d=data[0].data; 
    }
    $('#container').highcharts({
        chart: {
            type: 'column'
        },
        title: {
            text: title
        },
        subtitle: {
            text: 'Source: essp'
        },
        xAxis: {
            categories: eval(c),
            title: {
                text: null
            }
        },
        yAxis: {
            min: 0,
            title: {
                text: '访问次数',
                align: 'high'
            },
            labels: {
                overflow: 'justify'
            }
        },
        tooltip: {
            valueSuffix: ' 次'
        },
        plotOptions: {
            bar: {
                dataLabels: {
                    enabled: true
                }
            }
        },
        legend: {
            layout: 'vertical',
            align: 'right',
            verticalAlign: 'top',
            x: -100,
            y: 100,
            floating: true,
            borderWidth: 1,
            backgroundColor: '#FFFFFF',
            shadow: true
        },
        credits: {
            enabled: false
        },
        series: [{
            name: '总访问次数',
            data: eval(d)
        }]
    });
}
 
$(function () {
    drawChart();
    $("input[name='iradio']").bind("click",function(){
         $.post("queryuserchart.action",{
            curPage:$(this).val()
          },
          function(data,status){
            if('success'==status){
                drawChart(data);
            }
         },
         "json"
        );
    });
});

这是一个发起ajax请求道action中取值,得到json对象然后前台赋值更新图像的代码,现在这段代码是可以正常运行的,没有问题。我的疑惑是 eval()函数去掉后,highcharts就会解析错误,一直想不明白为什么会这样

展开
收起
a123456678 2016-07-11 16:15:01 2005 0
1 条回答
写回答
取消 提交回答
  • series: [{ 
                    name: '男', 
                    data: [7.0, 6.9, 9.5, 14.5, 18.4, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]
                }, { 
                    name: '女', 
                    data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8] 
                }]

    这样是可以的

    2019-07-17 19:54:18
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Javascript中的函数 立即下载
JavaScript函数 立即下载
Javascript中的对象 立即下载