1

.Net Ajax 呼び出しを使用して jQuery Highcharts チャートを読み込もうとしていますが、うまくいきません。

次のようにチャートにデータを入力できますが、表示に問題はありません。

function LoadTopActionsChartComplete() {
            var chart1;
            $g(function () {
                chart1 = new Highcharts.Chart({
                 chart: {
                           renderTo: 'divTopActionChart',
                           type: 'bar',
                           backgroundColor:'rgba(255, 255, 255, 0.1)'
                  },
                  title: {
                           text: 'Top Performing Actions'
                  },
                   credits: {
                             enabled: false
                   },
                  xAxis: {
                           categories:["1","2","3","4","5"]
                  },
                  yAxis: {
                            title: {
                            text: ''
                            }
                 },
                  series:[
                            {name: 'Link1',data:[703]},
                            {name: 'Link2',data:[661]},
                            {name: 'Link3',data:[649]},
                            {name: 'Link4',data:[615]},
                            {name: 'Link5',data:[611]}
                         ]
              });

            });

        }



</script>
</head>

<script type="text/javascript">
    window.onload = LoadTopActionsChartComplete();
</script>

これを Ajax 呼び出しでロードするために、以下を実装しました。

 $g(function PageLoad() {     
        LoadTopActionsChart();
    });

function LoadTopActionsChart() 
    {
        CampaignResultsNew.LoadTopActionsChart(LoadTopActionsChart_Callback);

    }

    function LoadTopActionsChart_Callback(response) {
        alert(response.value);
        LoadTopActionsChartComplete(response.value)
    }


    function LoadTopActionsChartComplete(chartScript) {
            var chart1;
            $g(function () {
                chart1 = chartScript;
            });

        }

関数 "LoadTopActionsChartComplete" は次のコードを正常に受信していますが、ページに何もレンダリングできません。

new Highcharts.Chart({
                 chart: {
                           renderTo: 'divTopActionChart',
                           type: 'bar',
                           backgroundColor:'rgba(255, 255, 255, 0.1)'
                  },
                  title: {
                           text: 'Top Performing Actions'
                  },
                   credits: {
                             enabled: false
                   },
                  xAxis: {
                           categories:["1","2","3","4","5"]
                  },
                  yAxis: {
                            title: {
                            text: ''
                            }
                 },
                  series:[
                            {name: 'Link1',data:[703]},
                            {name: 'Link2',data:[661]},
                            {name: 'Link3',data:[649]},
                            {name: 'Link4',data:[615]},
                            {name: 'Link5',data:[611]}
                         ]
              });

誰かが私が間違っているところを指摘できれば、私はそれを大いに感謝します.

ありがとう。

4

1 に答える 1

0

チャート オプションを吐き出す URL を使用すると、$.getJSON()を使用してこれを行うことができます。

$(function () {

  $.getJSON("url/of/webservice/that/returns/chartoptions", function(chartOptions){  

    var chart = new Highcharts.Chart(chartOptions);

  });

})();

Web サービスにJSON.NETなどの .net JSON ライブラリを使用できます。

また、 $(document).ready()について読みたいと思うかもしれません。

于 2012-04-24T23:30:47.757 に答える