4

我正在尝试使用 Google Apps Script 做一个向导类型的应用程序。由于使用 UiApp 进行样式设计在后面非常痛苦,我正在尝试使用 HtmlService 路线。我无法让表单 POST 工作。这是我的示例代码:

// Code.gs
function doGet(e) {
  return HtmlService.createHtmlOutputFromFile('p1');
}

function doPost(e) {
  var params = Utilities.jsonStringify(e);
  var page = HtmlService.createTemplateFromFile('p2');
  page.params = params;
  return page.evaluate().setSandboxMode(HtmlService.SandboxMode.NATIVE);
}

p1.html

<div>
  <form action="#" method="post">
    <input type="text" id="myContents"></input>
    <input type="submit" value="Submit"></input>
  </form>
</div>

p2.html

<div>
  <?=params?>
</div>

我在 p1 上单击“提交”得到的输出是

{"queryString":null,"parameter":{},"contextPath":"","parameters":{},"contentLength":0}

我期待表单向我返回数据,以便我可以在后续页面中使用数据。我想知道这是否与卡哈中毒有关。有任何想法吗?

4

1 回答 1

5

由于Google Caja施加的安全限制,发布本身在 HtmlService 中不起作用。

在 HtmlService 中执行“表单发布”的正确方法是使用google.script.run语法调用带有客户端上下文的服务器端函数。有关详细示例,请参见此处 - https://developers.google.com/apps-script/guides/html-service-communication#forms

于 2013-09-03T13:16:06.857 回答