javascript - 使用 google script 将 2D 数组传递到 HTML

标签 javascript google-apps-script

我试图在此处传递在 Javascript 文件中创建的二维数组:

代码.gs

function getPermits()
{
  Logger.log('Starting permits');
  var permits =  SpreadsheetApp.getActiveSpreadsheet().getActiveSheet().getDataRange().getValues();
  Logger.log('Got permits: ' + permits [0][0]);

  return permits;
}

我用这个 html 文件中的处理程序调用该函数:

<script type="text/javascript">
   function onSuccess(numUnread) {
    alert('You have ' + numUnread[0][0]
       + ' unread messages in your Gmail inbox.');
      document.getElementById("id2").innerHTML = numUnread[0][0];


}

   function onFail(numUnread){
   alert('Script failed!');
   }

 google.script.run.withSuccessHandler(onSuccess).getPermits();
 google.script.run.withFailureHandler(onFail).getPermits();
</script>

Logger.log('获得许可:' + 许可[0][0]); 无论如何,通话效果都很完美。然而,虽然我可以以这种方式传递一维数组并且它工作正常,但传递二维数组会导致此失败。为什么会出现这种情况?我是否使用了不正确的语法?

提前致谢

最佳答案

将其字符串化为 JSON 对象,然后您可以只传递一个字符串,效果很好:

return JSON.stringify(permits);

在 HTML 上:

function onSuccess(numUnread) {
  numUnread = JSON.parse(numUnread);

关于javascript - 使用 google script 将 2D 数组传递到 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29306540/

相关文章:

javascript - 在不更改值的情况下在输入字段中显示不同的值?

html - Google 电子表格中的 Google 协作平台复选框值

google-apps-script - Google 表单 - 即时条件分支

google-apps-script - 使用 google apps 脚本计算 gmail 中的电子邮件 - for 循环限制为 500 次迭代

javascript - Google Apps 脚本 - 检查电子邮件是否已正确发送

javascript - 在chartJs中禁用或隐藏图表的YAix

javascript - 如何在页面上的多个按钮上获得 1 个模态?

javascript - 如何将多个对象值作为单个对象发送到 JavaScript 函数

javascript - Google 脚本编辑触发器

javascript - 如何阅读 npm-debug.log(对 Node.JS 应用程序进行故障排除)