Google chart "Tabelle hat keine Spalten"
Ich bin die Generierung einer DataTable für eine google-Flächendiagramm. Die Tabelle, die ich erzeugen, ist die unten JSON. Die JSON überprüft und korrekt aussieht, aber wenn die fed auf den chart, der chart zeigt eine "Tabelle hat keine Spalten" Fehler.
JSON erscheint auch, entsprechend der JSON-in der Beispiel-Datei auf auf dieser Seite
Hier mein JSON-Daten:
{
"cols":[
{"id":"","label":"date","type":"string"},
{"id":"","label":"run","type":"number"},
{"id":"","label":"passed","type":"number"}
],
"rows":[
{"c":[{"v":"2012-07-20"},{"v":0},{"v":0}]},
{"c":[{"v":"2012-07-23"},{"v":0},{"v":0}]}
]
}
Hier ist, wie ich bin, Holen Sie die Daten und geben Sie dem Diagramm:
function loadData()
{
var request=new XMLHttpRequest();
request.onreadystatechange=function()
{
if (request.readyState==4 && request.status==200)
{
return request.responseText;
}
}
request.open("GET","testsrun.php?json=true&branch=test",true);
request.send();
}
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var json = loadData();
var data = new google.visualization.DataTable(json);
var options = {
vAxis: {minValue: 0}
};
var chart = new google.visualization.AreaChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
Ich bin mir auch bewusst, dass ich ein date-Objekt anstelle eines Strings für die Datum, ich würde es vorziehen, nicht zu verkomplizieren, bis ich entschieden habe das erste problem.
InformationsquelleAutor fishpen0 | 2013-12-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre
loadData
Funktion nichts zurückgibt, so dass diejson
variablenull
. Ich würde vorschlagen, eine leichte Reorganisation des Codes, um die Wirkung, die Sie wollen:Auch, die zahlen in Ihrer JSON-werden Eingaben als strings, bei denen es zu Problemen mit Ihrer Diagramme. Sie müssen, geben Sie diese als zahlen, zB.
{"v":"0"}
sollte{"v":0}
. Wenn Sie mit Hilfe von PHP -json_encode
Funktion bauen Sie Ihre JSON, können Sie passJSON_NUMERIC_CHECK
als zweites argument an die Funktion aufrufen, um sicherzustellen, dass Ihre zahlen sind korrekt eingespeist wird:Oh, jetzt verstehe ich. Die Funktion war zu Ende und der Rückruf war passiert später, so dass die variable bereits einen Wert zugewiesen null. Danke!
InformationsquelleAutor asgallant