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

可能重复:
HighCharts未被捕获的例外

我正在尝试使用以下代码实例化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(从控制台)到变量原本所在的位置,它工作正常。

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

您尝试渲染图表的元素/ 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。

对highcharts错误进行故障排除#13 | Highchart&Highstock @ jsFiddle

以下是上面演示的日志

JSON:{“chart”:{“renderTo”:“container”…}}
使用ID:container渲染到元素
匹配的dom元素数量:1