Javascript Google电子表格脚本,来回传递数组

Javascript Google电子表格脚本,来回传递数组,javascript,html,google-apps-script,google-sheets,Javascript,Html,Google Apps Script,Google Sheets,我似乎无法执行这个简单的操作,我想知道我是否只是错过了一些明显的东西。我试图将数组发送回HTML文件,在code.gs文件中,它被正确创建,我可以按预期对其进行迭代,但当我将其传递回HTML文件时,它失败了 我做错什么了吗 my index.html文件的内容: <script> google.setOnLoadCallback(draw); function draw() { var rows = google.script.run.callTo();

我似乎无法执行这个简单的操作,我想知道我是否只是错过了一些明显的东西。我试图将数组发送回HTML文件,在code.gs文件中,它被正确创建,我可以按预期对其进行迭代,但当我将其传递回HTML文件时,它失败了

我做错什么了吗

my index.html文件的内容:

<script>
  google.setOnLoadCallback(draw);

  function draw() 
  {
    var rows = google.script.run.callTo();
    alert("this will get called");
    for(i = 0; i < rows.length; i++)
    {
      alert(rows[i]);
      alert(i);
      alert("this will never get called");
    }
  }
</script>

setOnLoadCallback(draw);
函数绘图()
{
var rows=google.script.run.callTo();
警报(“这将被调用”);
对于(i=0;i
my Code.gs文件的内容:

function onOpen()
{
    SpreadsheetApp.getUi()
    .createMenu('Open this')
    .addItem('Show', 'doGetHtml')
    .addToUi();
}

function callTo()
{
    var empty_array = ['one', 'two', 'three', 'four'];
    for(i = 0; i < empty_array.length; i++)
    {
        //Browser.msgBox("item2 is " + empty_array[i]);
    }
    return empty_array;
}

function doGetHtml() 
{
    html = HtmlService.createHtmlOutputFromFile('index')
    .setSandboxMode(HtmlService.SandboxMode.IFRAME)
    .setHeight(400)
    .setWidth(1024);

    SpreadsheetApp.getUi() 
    .showModalDialog(html, 'Show this message');
}
函数onOpen() { SpreadsheetApp.getUi() .createMenu('打开此') .addItem('Show','doGetHtml') .addToUi(); } 函数callTo() { var empty_数组=['1'、'2'、'3'、'4']; 对于(i=0;i
我相信只有将服务器端函数返回的值传递给成功处理程序,才能访问该值:


函数绘制(行)
{
警报(“这将被调用”);
对于(i=0;i
是的,就是这样。非常感谢您的快速回复。
<script>
  function draw(rows) 
  {
    alert("this will get called");
    for(i = 0; i < rows.length; i++)
    {
      alert(rows[i]);
      alert(i);
      alert("this will hopefully get called");
    }
  }

  google.script.run.withSuccessHandler(draw).callTo();
</script>