如何使用getJSON加载Highcharts选项对象,包括回调属性

时间:2013-10-24 14:25:46

标签: json highcharts

我目前正在通过对Web服务进行jquery getJSON调用来加载和呈现Highcharts,如下所示:

$.getJSON('options.json')
    .done(function (chartOptions) {
            $('#chartholder').highcharts(chartOptions);
    });

这一切正常,直到我必须使用需要javascript回调的选项,例如axis label formatter。当我尝试失败时出现Uncaught TypeError异常并声明Object没有方法'call'。

我怀疑这是由web服务返回的json的结果,将formatter属性包装在引号中,因此它是有效的json,但Highcharts期望它是一个回调。

有没有办法在json中返回一个回调方法,而Highcharts是否可以识别它?

1 个答案:

答案 0 :(得分:0)

您可以尝试将json选项移动到脚本(来自options.js)。例如:

//options.js example
window.chartConfig = {
 charType: 'spline',
 tickPositioner: function() {console.log('bla-bla')}
}

// in some main script
$.getScript('options.js')
    .done(function () {
            window
            $('#chartholder').highcharts(window.chartConfig);
    });