Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 返回空值的Google应用程序脚本_Javascript_Google Apps Script - Fatal编程技术网

Javascript 返回空值的Google应用程序脚本

Javascript 返回空值的Google应用程序脚本,javascript,google-apps-script,Javascript,Google Apps Script,我有一个谷歌应用程序脚本功能,可以从电子表格中提取数据。它能够愉快地记录信息,然后我将数据返回到javascript函数。但是,当我试图对信息进行字符串化并发出警报时,它会发出“null”警报 我不知道我哪里出错了 调用GAS函数的Javascript: google.script.run.withSuccessHandler(getNews).getTheNews(); function getTheNews(){ var ss = SpreadsheetApp.openByUrl(u

我有一个谷歌应用程序脚本功能,可以从电子表格中提取数据。它能够愉快地记录信息,然后我将数据返回到javascript函数。但是,当我试图对信息进行字符串化并发出警报时,它会发出“null”警报

我不知道我哪里出错了

调用GAS函数的Javascript:

google.script.run.withSuccessHandler(getNews).getTheNews();

function getTheNews(){

 var ss = SpreadsheetApp.openByUrl(url);
 var ws = ss.getSheetByName("NewsFeed"); 
  
 
  var theNews = ws.getRange(3, 2, ws.getLastRow()-2, 1).getValues();
  Logger.log(theNews);
  
 return theNews;
 
}
气体功能:

google.script.run.withSuccessHandler(getNews).getTheNews();

function getTheNews(){

 var ss = SpreadsheetApp.openByUrl(url);
 var ws = ss.getSheetByName("NewsFeed"); 
  
 
  var theNews = ws.getRange(3, 2, ws.getLastRow()-2, 1).getValues();
  Logger.log(theNews);
  
 return theNews;
 
}
气体测井:

接收信息的Javascript函数:

function getNews(theNews){
var mystr = JSON.stringify(theNews);
            alert(mystr);
}
问题和解决方法: 不幸的是,在当前阶段,日期对象似乎无法直接从GoogleApps脚本端返回到Javascript端。我也可以复制你的情况。我想这就是你的问题所在。那么,作为当前的解决方案,下面的修改如何

修改脚本: 在此修改中,日期对象被转换为字符串并发送到Javascript端。在Javascript端,日期字符串被转换为日期对象

HTML和Javascript端: 谷歌应用程序脚本端:
  • 我认为在这种情况下,也可以使用
    c.getTime()
    而不是
    c.toISOString()
注:
  • 例如,如果要检索单元格上的显示值,还可以进行如下修改。在这种情况下,不需要修改Javascript

    •   var theNews = ws.getRange(3, 2, ws.getLastRow()-2, 1).getValues();
      
    •   var theNews = ws.getRange(3, 2, ws.getLastRow()-2, 1).getDisplayValues();
      
  • 我也在谷歌问题追踪器上发现了这个问题。但当我看到状态时,它似乎“无法修复(预期行为)”

参考资料: