我试图在此处传递在 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/