我有一个带有嵌入式 Apps 脚本小工具的 Google 协作平台页面。在页面上,我想在单击按钮时显示 ScriptDb 数据。
我的问题是:如何将 ScriptDb 结果传递给嵌入在我的小工具中的 JavaScript?
这是我的来源:
[示例代码.gs]
function doGet() {
// return template page
return HtmlService
.createTemplateFromFile('Sample-HTML')
.evaluate().setSandboxMode(HtmlService.SandboxMode.NATIVE);
}
function include(filename) {
return HtmlService.createHtmlOutputFromFile(filename)
.getContent();
}
// assume db contains 10 'records'
function getData(query) {
var db = ScriptDb.getMyDb();
var data = db.query(query);
Logger.log(data.getSize()); // returns '10.0'
return data; // makes showData think this is null
}
[示例-HTML.html]
<?!= include('Sample-JavaScript'); ?>
<input type="button" value="show data"
onclick="google.script.run
.withSuccessHandler(showData)
.getData({})" />
[示例-JavaScript.html]
<script>
function showData(db_query_result) {
alert(db_query_result); // returns null.
}
</script>