在Google脚本中没有返回任何内容的函数

10 浏览
0 Comments

在Google脚本中没有返回任何内容的函数

我在一个 HTML 文件中有一个 `form action post`,它调用了以下的 appscript 函数来将文件上传到谷歌云端硬盘:

function doPost(e) {
  var data = Utilities.base64Decode(e.parameters.data);
  var blob = Utilities.newBlob(data, e.parameters.mimetype, e.parameters.filename);
  var folder = DriveApp.getFolderById("-----"); // 获取文件的目标文件夹(最终用户在执行之前需要访问)
  var newFile = folder.createFile(blob); // 创建新文件(最终用户的属性)
  return?!!!?!?!?!!?!?!?! // 这是我的问题所在
}

当我点击提交按钮时,有没有办法让它不将我带到谷歌 appscript 页面显示一个代码?我的意思是保持在我的 HTML 页面中,而不刷新页面。

附上我的表单以防万一:

0
0 Comments

在上述代码中,存在一个名为processForm的函数,该函数在点击Submit按钮时被调用。然而,processForm函数没有返回任何值,这可能是导致问题的原因之一。

要解决这个问题,可以通过添加return语句来使函数返回一个值。下面是修复后的代码:

<form>
  <div id="data"></div>
  <input name="file" id="uploadfile" type="file">
  <input value="Submit" type="button" onClick="processForm(this.parentNode);" />
</form>
<script>
  function processForm(form) { 
    //do nothing or whatever you wish
    return;
  }
</script>

现在,processForm函数将返回一个undefined值。这样,当点击Submit按钮时,函数将执行并返回undefined,而不是什么都不返回。

这是一种简单的解决方法,但实际上,根据具体情况,你可以根据需要返回其他值。

0