我有一个html页面,将被提供给谷歌工作表应用程序以用作UI。我想从html文件中的服务器端函数访问一个数组。我无法访问返回的数组。这就是我所拥有的:
在html文件中:
<div id="id1">
Starting 1
</div>
<div id= "id2">
Starting 2
</div>
<script type="text/javascript">
document.getElementById("id1").innerHTML = "A change";
</script>
<script type="text/javascript">
function onSuccess(numUnread) {
alert('You have ' + numUnread[0]
+ ' unread messages in your Gmail inbox.');
document.getElementById("id2").innerHTML = numUnread[0];
}
google.script.run.withSuccessHandler(onSuccess)
.getPermits();
</script>
在code.gs中:
function getPermits()
{
var permits = [];
for(var i = 0; i < 10; i++)
{
permits.push('Element ' + i);
}
return permits;
}
现在我只想弄清div
与id = "id2"
不会更改为传递的数组中的第一个元素。相反,它没有改变。此外,没有警报。如果我将gePermits()函数的返回值更改为字符串,则div和alert都会按预期工作。
提前致谢!
答案 0 :(得分:1)
某些类型不会通过HTMLService传递,但您可以随时使用STRINGIFY和PARSE,尝试:
return JSON.stringify(permits);
并在html中:
function onSuccess(numUnread) {
numUnread = JSON.parse(numUnread);