2

重複の可能性:
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 error #13: www.highcharts.com/errors/13

そのリンクをたどると、次のように書かれています。

このエラーは、chart.renderTo オプションが正しく設定されておらず、Highcharts がチャートをレンダリングする HTML 要素を見つけられない場合に発生します。

ただし、もう一度、json を (コンソールから) 変数がある場所にコピー アンド ペーストすると、正常に動作します。

これは単純なことだと確信しています。ここで何が間違っていますか?

4

1 に答える 1

3

グラフをレンダリングしようとしている要素/div がありませjsonん。コンソールに表示されているものを共有できますか? さらに、次のログを追加して、画像をよりよく理解できるようにしてください。

ハイチャート エラー #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 として表示されるはずです。

ハイチャート エラー # 13 のトラブルシューティング | ハイチャート & ハイストック @ jsFiddle

上記のデモで表示されるログは次のとおりです。

JSON: {"chart":{"renderTo":"container"...}}
ID の要素にレンダリング: container
一致する dom 要素の数: 1

于 2012-10-29T09:19:17.343 に答える