在ajax调用上实例化高图时,Highcharts错误#13

时间:2012-10-28 20:20:58

标签: jquery highcharts highstock

  

可能重复:
  HighCharts uncaught exception

我正在尝试使用以下代码实例化highcharts对象:

$(function () {
    var chart;
    var json = null;
    $.getJSON('{%  url ajax_search 'pie_chart'  %}?{{request.META.QUERY_STRING}}',
             function(data, textStatus, jqXHR)
            {
                json = data.template;
                            console.log(json);
                chart = new Highcharts.Chart(json);
            });
})

控制台正确记录返回的json。

当我在json中复制并过去(json)时,图表呈现。但是,就像现在一样,它会引发以下错误:Uncaught Highcharts错误#13:www.highcharts.com/errors/13

按照该链接说:

  

如果chart.renderTo选项配置错误,则会发生此错误   Highcharts无法找到用于呈现图表的HTML元素   在

然而,再次,如果我复制并经过json(从控制台)到变量原本所在的位置,它可以正常工作。

我确信这很简单。我在这里做错了什么?

1 个答案:

答案 0 :(得分:3)

您尝试渲染图表的元素/ div缺失, 你可以分享控制台中打印的json吗?另外,如果您可以添加以下更多日志,以便我们更好地了解图片。

我将用于解决highcharts错误#13的一组标准日志

        console.log("JSON: " + JSON.stringify(chartingOptions));
        console.log("Render to element with ID : " + chartingOptions.chart.renderTo);
        console.log("Number of matching dom elements : " + $("#" + chartingOptions.chart.renderTo).length);

这些应该在调用Highcharts构造函数

之前添加
        chart = new Highcharts.Chart(chartingOptions);

如果一切正常,您应该看到正确的元素ID,长度为1.

Troubleshooting highcharts error # 13 | Highchart & Highstock @ jsFiddle

以下是上面演示的日志

  

JSON:{“chart”:{“renderTo”:“container”...}}
  渲染到具有ID的元素:容器
  匹配的dom元素数量:1