目标:
将App Script函数中的数据返回到自定义电子表格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>
答案 0 :(得分: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>