从外部加载Highcharts配置

Loading Highcharts configuration externally

本文关键字:配置 Highcharts 加载 从外部      更新时间:2023-09-26

我有很多不同的图表,我正在使用Highcharts渲染。试图找到一个好的动态的方法来做这件事。我认为这是一个很好的概念证明。问题是图表有不同的配置(和数据)。所以我最初的想法是,结合mustasche.js,像这样:

HTML:

<div class="highchart" 
     data-some-other-variable=""
     data-date-from="" 
     data-date-to="" 
     data-template="path/to/graph/graph.mustache"
>

然后是Javascript中一个简单的概念证明

var chart = $('.highchart');
$.get(chart.data('template'), function(options) {
    // Do stuff 
    highcharts(options);
});

问题是,我得到的响应是纯文本。它不能被解析成javascript变量,因为它不是有效的json。(配置对象内部有一个格式化器:function(){})。因此我不能用它来初始化highcharts。Eval不是这个的选项。什么好主意吗?

试试这段代码

var chart = $('.highchart');
$.ajax({
   url: chart.data('template'),
   type: "GET"
}, function(data) {
   // Do stuff 
   var options = $.parseJSON(data);
   highcharts(options);
});