如何从GET请求传递数组:
[x, y], [x, y]...
进入此Google可视化API调用的第二部分。
var data = google.visualization.arrayToDataTable([
['Initial', 'Second'],
[8, 37], [4, 19.5], [11, 52], [4, 22], [3, 16.5], [6.5, 32.8], [14, 72]]);
目前我已预设了值,但我想从GET请求中传递它们。 我尝试过使用PHP,但是使用像passing arrays as url parameter这样的方法失败了,因为我不太确定如何正确设置x值。
以下是我用来生成图表的脚本:
<script>
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Initial', 'Second'],
[8, 37], [4, 19.5], [11, 52], [4, 22], [3, 16.5], [6.5, 32.8], [14, 72]]);
var options = {
width: 420,
height: 420,
legend: 'none',
trendlines: { 0: {} },
colors: ['#FE2E2E'],
hAxis: {
textPosition: 'none',
gridlines: {
color: "#CCCCCC"
},
baselineColor: '#CCCCCC'
},
vAxis: {
textPosition: 'none',
gridlines: {
color: "#CCCCCC"
},
baselineColor: '#CCCCCC'
},
enableInteractivity: false
};
var chart = new google.visualization.ScatterChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
</script>
答案 0 :(得分:1)
你可以将其字符串化并传递为url编码
var a = [[4,5], [6,7]];
var b = JSON.stringify(a); // "[[4,5], [6,7]]"
var x = encodeURIComponent(b); // "%5B%5B4%2C5%5D%2C%20%5B6%2C7%5D%5D"
var strArray = decodeURIComponent(x); // "[[4,5], [6,7]]"
var myArray = JSON.parse("[[4,5], [6,7]]"); // [[4,5], [6,7]]
答案 1 :(得分:1)
获得GET请求的回复后: -
var myArrayData = JSON.parse(responseData);
现在您的数据格式为
[8, 37], [4, 19.5], [11, 52], [4, 22], [3, 16.5], [6.5, 32.8], [14, 72]
然后做:
myArrayData.unshift(['Initial', 'Second']);
现在你可以尝试:
var data = google.visualization.arrayToDataTable(myArrayData);