我是一个业余程序员,在一个小项目上遇到了困难。我想从 Google 电子表格中获取数据,修改数据并制作 Google Chart(使用 google chart api)。
下面的代码在 Firefox 中完美运行,但 Chrome 和 IE 不允许 dataTable 超出 handleQueryResponse(e) 函数的范围。我的第一个想法是从 handleQueryResponse(e) 函数返回 dataTable,但这在函数 (.send()) 内部调用。
任何帮助将不胜感激。
function getDataTable(link) {
var dataTable= new google.visualization.DataTable();
var queryTrip = new google.visualization.Query(link);
queryTrip.send(handleQueryResponse);
function handleQueryResponse(response) {
if (response.isError()) {
alert('Error in query: ' + response.getMessage() + ' ' + response.getDetailedMessage());
return;
}
dataTable = response.getDataTable();
// I can verify this has the data through debugging in Chrome
}
// Outside of the function handleQueryResponse the dataTable is gone
return dataTable;
}