0

このデモを使用してPHPとMySqlで動作させ、一定の間隔でデータベースから更新された値を取得しようとしています。

私が使うとき

// using random value using javascript
setInterval(function() {
        var x = (new Date()).getTime(), // current time
        var y = Math.random();
        series.addPoint([x, y], true, true);
        }, 5000);

私は得る

通常チャート

しかし、次のようなAjax関数を入れようとすると

var t;
setInterval(function() {
    var x = (new Date()).getTime(), // current time
    $.ajax({
        type:'post',
        url:'blahblah.php',
        success:function(data)
        {
             t = data;   // data will be a random numeric value
        }
    });        
    series.addPoint([x, t], true, true);
    }, 5000);

チャートは 間違ったチャート

blahblah.php

echo rand(10, 99);

すべての ajax 呼び出しで行が消える理由を特定できません。また、ポイントのプロットも正しくありません。返される値は常に 10 より大きいですが、2 番目のグラフでわかるように、プロット範囲は -2 から 8 です。

この種のチャートで動作する適切なmysqlの例が見つからないようです(一定の間隔で自動更新されます)

サーバーからデータをフェッチし、その値を関数内で使用する他の方法はありますsetIntervalか?

4

2 に答える 2

1

成功関数の中に入れてくださいseries.addPoint([x, t], true, true);。そうしないと、「t」が未定義になり、チャートが混乱します。

于 2013-05-09T10:08:38.177 に答える
0

常に同じタイムスタンプで値をプロットしていると思います。「t」の値が数値であることを確認してください。

于 2013-05-08T14:44:15.853 に答える