Я создаю DataTable для диаграммы области Google. Таблица, которую я создаю, - это ниже JSON. JSON проверяет и выглядит корректно, но при подаче на диаграмму на диаграмме отображается ошибка «таблица не имеет столбцов».График Google «Таблица не имеет столбцов»
JSON также отображается в соответствии с JSON в файле примера на this page
Вот мой JSON данные:
{
"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}]}
]
}
Вот как я выборка данных и предоставление его на графике:
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);
}
Кроме того, я знаю, что я могу использовать объект даты вместо строки на дату, я бы предпочел, чтобы не усложнять это, пока я не разрешил инициализации .
Я возвращаю request.responseText внутри request.onreadystatechange – fishpen0
О, теперь я понимаю. Функция заканчивалась, и обратный вызов происходил позже, поэтому переменной уже присвоено значение null. Благодаря! – fishpen0