Peo*_*eat 4 google-apps-script
我正在尝试使用 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);
}
Run Code Online (Sandbox Code Playgroud)
p1.html
<div>
<form action="#" method="post">
<input type="text" id="myContents"></input>
<input type="submit" value="Submit"></input>
</form>
</div>
Run Code Online (Sandbox Code Playgroud)
p2.html
<div>
<?=params?>
</div>
Run Code Online (Sandbox Code Playgroud)
我从 p1 上点击“提交”得到的输出是
{"queryString":null,"parameter":{},"contextPath":"","parameters":{},"contentLength":0}
我期待表单将数据返回给我,以便我可以在后续页面中使用数据。我想知道这是否与卡哈中毒有关。有任何想法吗?
由于Google Caja施加的安全限制,发布本身在 HtmlService 中不起作用。
在 HtmlService 中执行“表单发布”的正确方法是使用google.script.run语法通过客户端上下文调用服务器端函数。有关详细示例,请参见此处 - https://developers.google.com/apps-script/guides/html-service-communication#forms