我正在通过对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是否可以识别它?
您可以尝试将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);
});