HighCharts-无效或意外的令牌

时间:2019-01-02 13:46:54

标签: javascript jsp highcharts

我使用下面的小提琴中的代码创建了一个高位图表,但是将数据更改为java字符串(可以正常使用),但是收到错误“未捕获的语法错误:无效或意外的令牌”

https://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/demo/column-rotated-labels/

当我单击错误时,它将加载此控制台源并指向“数据”标签:

 Highcharts.chart('container', {
    chart: {
        type: 'column'
    },
    title: {
        text: 'Users per lesson'
    },
    xAxis: {
        type: 'category',
        labels: {
            rotation: -45,
            style: {
                fontSize: '13px',
                fontFamily: 'Verdana, sans-serif'
            }
        }
    },
    yAxis: {
        min: 0,
        title: {
            text: 'Users'
        }
    },
    series: [{
        name: 'Users',
        data: [
            "['Snowboarding for dummies', 1], 
['Advanced Carving 
Techniques', 1],"
        ],
        dataLabels: {
            enabled: true,
            rotation: -90,
            color: '#FFFFFF',
            align: 'right',
            format: '{point.y:.1f}', // one decimal
            y: 10, // 10 pixels down from the top
            style: {
                fontSize: '13px',
                fontFamily: 'Verdana, sans-serif'
            }
        }
    }]
});

我实际上要传递的是:

data: [
        <%=session.getAttribute("jsTag")    %>
    ],

但这是在创建带有换行符的字符串吗?

如果我输出的字符串在一行上全部输出:

  

['傻瓜滑雪板',1],['高级雕刻技术',1],

2 个答案:

答案 0 :(得分:0)

意向数据中有错误,Highcharts不能低估Java脚本字符串,因此您需要解析该字符串。应该是这样的:

...
    data: [
        ['Snowboarding for dummies', 1], 
        ['Advanced Carving Techniques', 1]
    ],
...

Fiddle

答案 1 :(得分:0)

基于HighChart示例代码,您似乎正在尝试传递具有单个字符串值的数组(数据)。

HighCharts需要2D数组作为数据键。因此,如果您指定:

数据:[['Shanghai',24.2],...]

即“上海”是x轴值,而24.2是y轴值。

现在,如果您要将数据作为字符串传递,则可能需要首先解析该字符串。

{
  "query": {
    "bool": {
      "filter": [
        [
          {
            "terms": {
              "userIds": [
                8936
              ]
            }
          }
        ]
      ],
      "must_not": [
        [
          {
            "exists": {
              "field": "deleted_at"
            }
          }
        ]
      ]
    }
  },
  "size": 10000
}

然后将此数据变量传递给HighChart对象。

祝一切顺利!