0

AJAX リクエストを介してデータを取得すると、次のようになります。

[1,3252325],[2,2323]

2 番目の値は、呼び出されたファイル ID です。fId

ここで、その ID を取得し、別の ajax 呼び出しを行って対応する名前を見つけ、それを使用して x 軸の説明をオーバーライドしようとします。

すべて正常に動作しますが、実行するたびに既存の名前がす​​べて削除されるという問題があります。そのため、最後に、カスタムの xAxis 記述を持つ最後のデータセットが 1 つだけ残ります。

最後に、すべてのデータセットに xAxis のカスタムの新しい名前が必要です。

API.txt を検索しようとしましたが、何も見つかりませんでした。また、コードを移動したり書き直したりするために何時間も試みましたが、結局のところ、同じ問題に悩まされています。

それはコードの一部です:

function onDataReceived(series) {

    //Add data
    if (!alreadyFetched[series.label]) {
        alreadyFetched[series.label] = true;
        fdata.push(series);

        //Get ID
        var fId = [series.data[0][0]];

        //Get names
        $.ajax({
            url: 'inc/admin.inc.php?action=get&option=filename&id='+fId+'',
            method: 'GET',
            dataType: 'html',
            success: function(response){
                $.plot(fplaceholder, fdata,$.extend(true, {}, foptions, {

                    //Works, but each time it runs, it removes all previous overrides
                    xaxis:{ticks:[[fId,response]]}

                }));
            }
        });
    }

}

$.ajax({
    url: dataurl,
    method: 'GET',
    dataType: 'json',
    success: onDataReceived
});

アップデート:

私は現在、「ハック」を使用してこれを希望どおりに機能させていますが、これはおそらく私の特定のニーズに対してのみ機能しています。

xaxis の「10 進数を表示」を false に設定しました。プロットが作成されたら、タイムアウト関数を開始してすべての xaxis 値 (私の場合は ID) を検索し、小さな ajax 呼び出しで対応する名前を見つけます。

ただし、フローコード内で直接行う方法をまだ探しています。

4

0 に答える 0