Javascript googlechart能否同时查询多个电子表格?
因为我尝试用一个handle函数同时查询3张工作表和3个图表,结果是错误的(它在3个div中显示相同的图表) 所以我想我必须在每个图表上添加handle函数,比如Javascript googlechart能否同时查询多个电子表格?,javascript,google-visualization,Javascript,Google Visualization,因为我尝试用一个handle函数同时查询3张工作表和3个图表,结果是错误的(它在3个div中显示相同的图表) 所以我想我必须在每个图表上添加handle函数,比如 google.charts.load('current',{packages:[“地球艺术”]}); google.charts.setOnLoadCallback(DrawRegionMap); 函数drawRegionsMap(){ var query1=新的google.visualization.Query(“https:/
google.charts.load('current',{packages:[“地球艺术”]});
google.charts.setOnLoadCallback(DrawRegionMap);
函数drawRegionsMap(){
var query1=新的google.visualization.Query(“https://docs.google.com/spreadsheets/d/14VouG7zZqHGB9CA6bxQx6CXX-TvOYkSqTmrN5DAj1Do/edit#gid=1175123524");
var query2=新的google.visualization.Query('https://docs.google.com/spreadsheets/d/1RsugJPtz2EdHOLaiL0SvR9bh61H-vAgn9x1QBjIJ--c/edit?usp=sharing');
var query3=新的google.visualization.Query('https://docs.google.com/spreadsheets/d/1zPP22gUPLDqTrvASIU3OXpmeHL_9IBS2O4z75g-1BHY/edit?usp=sharing');
查询1.send(handlequeryresponset1);
query2.send(handlequeryresponset2);
查询3.发送(HandleQueryResponset3);
}
函数handleQueryResponset1(response1){
if(response1.isError()){
警报('查询中的错误:'+response1.getMessage()+'+response1.getDetailedMessage());
返回;
}
函数handlequeryresponset2(response2){
if(response2.isError()){
警报('查询中的错误:'+response2.getMessage()+'+response2.getDetailedMessage());
返回;
}
函数handleQueryResponset3(response3){
if(response3.isError()){
警报('查询中的错误:'+response3.getMessage()+'+response3.getDetailedMessage());
返回;
}
var data1=response1.getDataTable();
var data2=response2.getDataTable();
var data3=response3.getDataTable();
我不认为googlechart查询在同时进行多个查询时有任何问题,来回答这个问题
关于您的代码:
您的handleQueryResponseTR2函数是handleQueryResponseTR1中的本地函数,但您尝试从DrawRegionMap()调用它。该作用域中未定义handleQueryResponseTR2()
将handleQueryResponseTR2()移动到上限范围,使其对调用函数可见
事实上,将所有handleQueryResponse函数移动到更高级别
var data1;
var data2;
var data3;
function handleQueryResponseTR1(response1) {
if (response1.isError()) {
alert('Error in query: ' + response1.getMessage() + ' ' + response1.getDetailedMessage());
return;
}
data1 = response1.getDataTable();
}
function handleQueryResponseTR2(response2) {
if (response2.isError()) {
alert('Error in query: ' + response2.getMessage() + ' ' + response2.getDetailedMessage());
return;
}
data2 = response2.getDataTable();
}
function handleQueryResponseTR3(response3) {
if (response3.isError()) {
alert('Error in query: ' + response3.getMessage() + ' ' + response3.getDetailedMessage());
return;
}
data3 = response3.getDataTable();
}
function drawRegionsMap() {
var query1 = new google.visualization.Query("https://docs.google.com/spreadsheets/d/14VouG7zZqHGB9CA6bxQx6CXX-TvOYkSqTmrN5DAj1Do/edit#gid=1175123524");
var query2 = new google.visualization.Query('https://docs.google.com/spreadsheets/d/1RsugJPtz2EdHOLaiL0SvR9bh61H-vAgn9x1QBjIJ--c/edit?usp=sharing');
var query3 = new google.visualization.Query('https://docs.google.com/spreadsheets/d/1zPP22gUPLDqTrvASIU3OXpmeHL_9IBS2O4z75g-1BHY/edit?usp=sharing');
query1.send(handleQueryResponseTR1);
query2.send(handleQueryResponseTR2);
query3.send(handleQueryResponseTR3);
}
请注意,当收到响应时,handleQueryResponse函数是异步调用的