0

目标:

将应用脚本函数中的数据返回到自定义电子表格 HTML 表单中。

问题:

脚本返回“未定义”

应用脚本:

function displaySSUI(e) {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var html = HtmlService.createTemplateFromFile("index.html").evaluate();
  ss.show(html);
  return
}

function returnVal () {
   Logger.log("So far so good")            // Displays in Apps Script Logger
   return "Good"
}

电子表格 HTML 对话中的脚本:

<script>
   var str = google.script.run.returnVal()
   alert(str);                             // Alert box says undefined
</script> 
4

1 回答 1

1

因为google.script.run会异步运行,所以不能立即返回值。这就是str未定义的原因。

您需要创建一个回调函数来访问返回值:

<script>
  //function to be called when .returnVal() returns
  var onSuccess = function(str) {
    alert(str);
  }

  //use .withSuccessHandler() to set the callback function
  var str = google.script.run.withSuccessHandler(onSuccess).returnVal()
</script> 
于 2013-05-25T14:28:52.840 回答