私は小さなプロジェクトで苦労しているアマチュア プログラマーです。Google スプレッドシートからデータを取得し、データを変更して、(Google チャート API を使用して) Google チャートを作成したいと考えています。
以下のコードは Firefox で完全に機能しますが、Chrome と IE では、handleQueryResponse(e) 関数の範囲外で dataTable を使用できません。最初に考えたのは、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;
}