我试图在这里传递在Javascript文件中创建的2D数组:
Code.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('Got permits: ' + permits[0][0]);调用都是完美的。然而,虽然我可以以这种方式传递一个一维数组,而且它工作得很好,但是传递一个2D数组会导致失败。这一切为什么要发生?我是否对此使用了不正确的语法?
提前感谢
发布于 2015-03-27 17:24:17
将其定义为JSON对象,然后只传递一个字符串,该字符串运行良好:
return JSON.stringify(permits);在HTML上:
function onSuccess(numUnread) {
numUnread = JSON.parse(numUnread);https://stackoverflow.com/questions/29306540
复制相似问题