在 ajax 调用之后,我遇到了使用谷歌图表 api 可视化数据的问题。
首先,我进行了 ajax 调用并获取了一个 json 对象。之后,我想从 json 中提取一些数据并绘制一个仪表图。获取 json 并提取数据工作正常,但是当我尝试加载图表时,主体被移除并且我得到一个空白/白色屏幕。有谁知道我做错了什么?我还尝试对图表的值进行硬编码,而不是获取 json 值(但在加载图表之前保留了 ajax 调用),但它也不起作用。
function loadStats(){
var http = getRequestObject();
var city = "berlin";
http.open("GET", "getTwitterSentiments.php?city="+city, true);
http.onreadystatechange=function() {
getStatistic(http)
};
http.send(null);
}
function getStatistic(request) {
if ((request.readyState == 4) && (request.status == 200)) {
var data = request.responseText;
var JSONStats = eval("(" + data + ")");
loadGauge(JSONStats.sentiment_index);
}
function loadGauge(sentiment){
google.load('visualization', '1', {packages:['gauge']});
google.setOnLoadCallback(drawGauge);
function drawGauge() {
var data = google.visualization.arrayToDataTable([
['Label', 'Value'],
['Test', sentiment]
]);
var options = {
width: 100,
height: 100,
redFrom: 0,
redTo: 45,
yellowFrom: 45,
yellowTo: 55,
greenFrom: 55,
greenTo: 100,
minorTicks: 10
};
var chart = new google.visualization.Gauge(document.getElementById('testgchart'));
chart.draw(data, options);
}
}