0

次のコードが正しく機能していません。何が起こっているのかを確認する必要があります。問題は、ほとんどのコードが html ヘッダーで実行されることです。何が問題なのかを確認するために変数を出力するにはどうすればよいですか?

<!DOCTYPE HTML>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Highstock Example</title>

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <script type="text/javascript">
$(function() {
$.getJSON('http://localhost/teste04.php', function(data) {

    // split the data set into ohlc and volume
    var ohlc = [],
        volume = [],
        dataLength = data.length;

    for (i = 0; i < dataLength; i++) {
        ohlc.push([
            data[i][0], // the date
            data[i][1], // open
            data[i][2], // high
            data[i][3], // low
            data[i][4] // close
        ]);

        volume.push([
            data[i][0], // the date
            data[i][5] // the volume
        ]);
    }

    // set the allowed units for data grouping
    var groupingUnits = [[
        'week',                         // unit name
        [1]                             // allowed multiples
    ], [
        'month',
        [1, 2, 3, 4, 6]
    ]];

    // create the chart
    chart = new Highcharts.StockChart({
        chart: {
            renderTo: 'container',
            alignTicks: false
        },

        rangeSelector: {
            selected: 1
        },

        title: {
            text: 'AAPL Historical'
        },

        yAxis: [{
            title: {
                text: 'OHLC'
            },
            height: 200,
            lineWidth: 2
        }, {
            title: {
                text: 'Volume'
            },
            top: 300,
            height: 100,
            offset: 0,
            lineWidth: 2
        }],

        series: [{
            type: 'candlestick',
            name: 'AAPL',
            data: ohlc,
            dataGrouping: {
                units: groupingUnits
            }
        }, {
            type: 'column',
            name: 'Volume',
            data: volume,
            yAxis: 1,
            dataGrouping: {
                units: groupingUnits
            }
        }]
    });
});
});
    </script>
</head>
<body>
<script src="js/highstock.js"></script>
<script src="js/modules/exporting.js"></script>

<div id="container" style="height: 500px; min-width: 500px"></div>

</body>
</html>

編集:たとえば、「datalength」を出力したいと思います。

前もって感謝します、ルイス

4

1 に答える 1

1

$.getJSON へのパラメーター コールバックとして渡す無名関数内の変数は、そのスコープ内にのみ存在します。
その関数内で console.log(dataLength) のようなものを使用すると、その時点での値がブラウザーのコンソールに表示されます。
JavaScript デバッガー (Firefox では firebug、Chrome では Javascript コンソール) を使用して、その関数内の最初の行にブレーク ポイントを設定し、それを段階的に実行して各変数の値を確認できます。

Chrome、imhoには最高のコンソールとデバッガーがあるので、これを試してみてください:

$.getJSON('http://localhost/teste04.php', function(data) {
    console.log(data);
    // split the data set into ohlc and volume
    var ohlc = [],
    ............

Chrome で F12 を押し、ページを更新し、コンソールのデータ オブジェクト内のすべての値を確認します。

于 2012-08-14T16:49:49.673 に答える