перед тем, как нарисовать диаграмму, вы должны подождать и на графиках Google, и на вызове ajax, чтобы завершить
, вам также нужно дождаться загрузки страницы, но google.charts.load
сделает это по умолчанию,
не нужнодля -> $(document).ready
попробуйте следующую настройку ...
google.charts.load('current', {
packages: ['table']
}).then(function () {
$.ajax({
type: 'GET',
url: 'api/Score',
dataType: 'json',
success: function (data) {
DrawTable(data);
},
error: function () {
alert("Error loading data! Please try again");
}
});
});
function DrawTable(dataValues) {
var data = new google.visualization.DataTable();
var options = { title: 'Top Scores', showRowNumber: true, width: '75%', height: '75%' };
data.addColumn('string', 'Name');
data.addColumn('number', 'Score');
for (var i = 0; i < dataValues.length; i++)
{
data.addRow([dataValues[i].Name, dataValues[i].NrScore]);
}
var table = new google.visualization.Table(document.getElementById('tableScore'));
table.draw(data, options);
};