我正在尝试使用以下代码实例化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(从控制台)到变量原本所在的位置,它可以正常工作。
我确信这很简单。我在这里做错了什么?
答案 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