1

このハイチャートの例をIE9で実行しようとしています

http://www.highcharts.com/studies/live-server.htm

しかし、phpスクリプトを呼び出す代わりに、私は次のことをしています:

function requestData() {            
        var MyAppUrlSettings = {
            MyUsefulUrl: '/PaymentConfirmation/UpdateChart?numSecondsToGoBack=3600'
        }

        $.ajax({
            url: MyAppUrlSettings.MyUsefulUrl,
            type: "POST",
            async: false,
            dataType: "json",
            success: function (PaymentConfirmationData) {
                $.each(PaymentConfirmationData, function (i, PaymentConfirmation) {

                    var d = new Date(); 
                    d.setTime(parseInt(PaymentConfirmation.TimeMilliSeconds));                            
                    var milli = d.getTime();
                    var series = chart.series[0],
                 shift = series.data.length > 20; // shift if the series is longer than 20
                    // add the point
                    chart.series[0].addPoint([milli, PaymentConfirmation.Count], true, shift);

                    // call it again after one second
                    setTimeout(requestData, 1000);
                });
            },
            error: function (xhr, status, error) {
                alert("An AJAX error occured: " + status + "\nError: " + error);
            },
            cache: false
        });
    }

例のように、チャートオブジェクトがグローバルに宣言されています(そして、それはどういうわけか機能していないと思います!!!)

注: 「$(document).ready(function() {」関数は例のとおりです。

どうぞよろしくお願いいたします。

4

1 に答える 1

0

ここで実際のチャートコードを見ずに、私の最善の推測です。シリーズオブジェクトを正しく定義していません。この行は私が思う問題です:

var series = chart.series[0],

;私はそれがの代わりであるべきだと信じてい,ます。

また、それでもこのエラーが発生する場合は、を作成しましたchartseries、ポイントをにプッシュしてみてくださいseries[0]。必ず空のシリーズを作成してください(または作成series後にchart作成してください)。与えられた例のページのように:

series: [{
     name: 'Random data',
     data: []
   }]
于 2012-12-04T17:05:46.087 に答える