リンクをクリックした後、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ファイルに値を手動で入力すると機能するため、問題は応答のどこかにあります。