1

ajaxを使用してPHPスクリプトに接続し、jqplotjQueryグラフ作成ライブラリに必要なグラフ座標を取得しています。

問題は、jqplotが読み取ることができるjQuery配列に変換できる適切なPHP配列を構築するのに苦労していることです。

PHPファイルから配列を取得するコードは次のとおりです。

$.ajax({
    type: 'POST',
    dataType: "json",
    url: "behind_curtains.php",
    data: {
        monthSelected: month_option_selected
    },
    success: function (data) {
        var stored_data = data;
        alert(stored_data);
    }
});
return stored_data;
}

jqplotを作成するコードは次のとおりです

jQuery.jqplot('chartdiv-data', [], {
    title: 'Plot With Options',
    dataRenderer: stored_data,
    axesDefaults: {
        labelRenderer: jQuery.jqplot.CanvasAxisLabelRenderer
    },
    axes: {
        xaxis: {
            label: "Day",
        },
        yaxis: {
            label: "data"
        }
    }
});

よろしければ、behind_curtains.phpファイルに適切なデータ配列を作成するのを手伝っていただければ幸いです。

編集1 グラフ座標配列は、次の形式である必要があります。

[[[1,2],[3,5],[5,13]]]

基本的に、その形式でデータを格納する配列を出力できるphpコードを作成する必要があります。

ありがとう

解決:

* begin_curtains.php *

[[1,2]、[3,5]、[5,13]]の形式の文字列を単純に生成する配列をまとめました。次に、文字列を変数に格納し、その変数を次の形式でエコーしました。

echo json_encode($stored_data);

ここでのユーザー側のコードは次のようになります。

<script type="text/javascript">
$("document").ready(function() {
        $.ajax({
            type: 'POST',
            dataType:"json",
            url: "behind_curtains.php",
            data: {
                monthSelected: month_option_selected},
            success: function(data){                    
            var stored_data = eval(data) ;  
/* generate graph! */
$.jqplot('chartdiv-weight', [stored_data], {
 title: month, 
axesDefaults: {
    labelRenderer: jQuery.jqplot.CanvasAxisLabelRenderer
  },
  axes: {
    xaxis: {
      label: "Day",
    },
    yaxis: {
      label: "data"
    }
  }   
});
        }
        });
    }

}});</script>

いいえの場合は、興味のある方はぜひお知らせください。

4

1 に答える 1

1

戻ることはできますが、ここで一番下の例に示すように、呼び出しのstored_data前に宣言する必要があります。また、次を使用する必要があります。そうしないと、この方法でデータを返すことができません。同じ理由で、必要に応じて代わりに使用できます。AJAXasync: falsegetJSON()

取得したデータのフォーマットに関しては、ここで回答した同様の問題があります。データを表すために、それに応じて配列を作成する必要があります。

あなたがあなたがどのように正確に見えるかを示すことができればJSON、私はあなたにもっと正確な答えを与えることができます。

于 2012-05-22T09:00:55.393 に答える