在我现在的理解中,只有一个 doGet() 可以在 Google Apps 脚本应用程序中触发唯一的 doPost()。
我想执行一个软件发布系统,用户上传文件或在表格中填写修订信息并推送提交到下一步。最后一页将显示输入信息,发送电子邮件给伙计们并完成所有操作。
但是按下提交按钮后如何输入下一个表单?
我尝试了一种在doPost()中创建第二步和第三步表单的方法,并使用try...catch来区分哪个步骤表单触发了当前步骤,如下面的代码。(因为任何步骤都不能得到非上一步抛出的回调项,所以会出现异常)
它工作得很好,但我认为它没有意义而且非常愚蠢。有更好的解决方案吗?谢谢,请。
//---------------------------------------------------------------------------
function doGet(e)
{
var app = UiApp.createApplication().setTitle("AP Publisher");
createFileUploadForm(app);
return app;
}
//---------------------------------------------------------------------------
function doPost(e)
{
var app = UiApp.getActiveApplication();
try {
// 2nd step form
var fileBlob = e.parameter.thefile;
createRevisionForm();
}
catch(error) {
try {
// 3rd step form
createConfirmForm(e);
}
catch(error2) {
//Complete
sendMail(e);
modifySitePageContent(e);
saveHistoryFile(e);
showConfirmedInfo(e);
}
}
return app;
}