0

多分あなたは私を助けることができます。

私のjquery ajax呼び出し結果は「||」で分割されています 値の配列を作成します。これらの値の 1 つは、次のような文字列です。

[['2012-11-18', 33, 2], ['2012-11-19', 162, 11], ['2012-11-20', 140, 13]]

これを実行可能な JavaScript 配列として作成し、Google チャート drawchart(myarray) 関数に渡して data.addRows(myarray); で使用する必要があります。

誰かがそれを達成するのを手伝ってくれますか?

この ajax で返された配列をどのようなものにも見えるようにすることができます。重要なのは、この配列を使用して Google チャートを更新できることです。

さて、私の ajax 成功コードは次のとおりです。

success: function(response)
     {
        response_d = response.split("||");
        response_message = response_d[0];

        if(response_message == 'ok') {
           $("#contr_count").html(response_d[1]); 
           $("#contr_average").html(contr_time(response_d[2])); 
           $("#contr_space_average").html(contr_time(response_d[3]));
           var chartdata = $.parseJSON(response_d[4]);
           drawChart(chartdata);
           $("#contr_list").html(response_d[5]); 
        }
        else {

        }
     }

そして、ここに描画機能があります

function drawChart(chartdata) {
 var data = new google.visualization.DataTable();
  data.addColumn('string', 'Minutit tagasi');
  data.addColumn('number', 'T pikkus');
  data.addColumn('number', 'T vahe pikkus');

  data.addRows(chartdata);

data.addRows(dateArray);
 var options = {
   title:                 'T pikkuse ja vahe graafik (viimane 60 min)',
   backgroundColor:          '#fdf3e9', 
   colors:                ['#FF7F00','#437C17'],
   curveType:             'function',
   enableInteractivity:      true, 
   legend:                {position: 'bottom'},
   vAxis:                 {direction: -1},
   hAxis:                 {direction: -1},
   chartArea:             {width: '85%'}
 };

 var chart = new google.visualization.LineChart(document.getElementById('contr_graph'));
 chart.draw(data, options);

}

このコードは、json エラー "SyntaxError: JSON.parse: unexpected character" ar firebug を提供します。

4

1 に答える 1

0

最初に交換'する必要があります。"試してみてください:

var s = "[['2012-11-18', 33, 2], ['2012-11-19', 162, 11], ['2012-11-20', 140, 13]]";
var arr = $.parseJSON(s.replace(/'/g,'"'))

ここに、実際の例を含むjsfiddleがあります。javascriptコンソールを開いて結果を確認します。

于 2013-01-03T08:49:38.503 に答える