8

リンクをクリックした後、Googleチャートを呼び出そうとしています。これは私の関数がどのように見えるかです:

function getGraphData(id) {

    var ajax_url = '<?=URL?>ajaxlibrary/get-graph-data';

    $.ajax({
        type: 'POST',
        url: ajax_url,
        dataType: 'html',
        data: ({
            id : id
      }),
        cache: false,
        success: function(data) {
            $('a').removeClass("selected");
            $('#link_'+id).addClass("selected");
            alert(data);

        },
    });
}

ここで私が達成しようとしているのは、別のような別のグラフをロードすることです。つまり、政治チャート、スポーツチャートなどがあるとしましょう。しかし、Google API コードをどこに置くべきかわかりません。うまくいかない...

編集:関数を次のように編集しました:

  $.ajax({
         type: "POST",
         dataType: "html",
         data: {id: id},
         url: '<?=URL?>' + 'ajaxlibrary/get-charts',
         success: function(datas) {
            console.log(datas);
            var data = google.visualization.arrayToDataTable([
                    datas
            ]);

            var options = {
                title: 'My Daily Activities'
            };

            var chart = new google.visualization.PieChart(document.getElementById('chart_div'));
            chart.draw(data, options);
         }
    }); 

しかし、私のajax phpファイルからこのデータストリームを送信する際に問題があります:

echo '[\'Task\', \'Hours per Day\'],
            [\'Work\',     10],
            [\'shit\',     50],
            [\'loop\',     25],
            [\'poop\',     15]';

応答は有効な 2D 配列ではありません。JavaScriptファイルに値を手動で入力すると機能するため、問題は応答のどこかにあります。

4

1 に答える 1