我希望每个人在目前的情况下都安全健康。
我对带有google apps脚本的项目有疑问。我有一个Web应用程序,我已经能够使用链接等方法找出doGet()的路由。
//global variables const sheetId = "foo"; const Route = {}; Route.path = function(route, callback){ Route[route] = callback; } function doGet(e){ Route.path("newAccountForm",loadNewForm); Route.path("updateBrandForm", loadUpdateForm); if(Route[e.parameters.v]) { return Route[e.parameters.v](); } else { return render("home") } }; function loadNewForm() { const sheetActive = SpreadsheetApp.openById(sheetId); const mySheet = sheetActive.getSheetByName("Sheet1"); const title = "title"; const index = "index"; return render("addNewAccount",{title: title, index: index}); } function loadUpdateForm () { const sheetActive = SpreadsheetApp.openById(sheetId); const mySheet = sheetActive.getSheetByName("Sheet1"); return render("updateBrand"); } function render(file,argsObject) { const tmp = HtmlService.createTemplateFromFile(file); if(argsObject) { const keys = Object.keys(argsObject); keys.forEach(function(key){ tmp[key] = argsObject[key]; }) } // END IF return tmp.evaluate(); }
这些链接..
<a href="<?= ScriptApp.getService().getUrl(); ?>?v=newAccountForm">Add New Brand</a> <a href="<?= ScriptApp.getService().getUrl(); ?>?v=updateBrandForm">Update Exisiting Brand</a> <a href="<?= ScriptApp.getService().getUrl(); ?>?v=reports">Analytics / Reports</a>
现在,我在处理响应和错误时有些卡住。我尝试使用doPost()来呈现新的HTML页面。我的问题是我不确定如何确定doPost中的请求是否成功。有没有办法检查?我可以通过事件对象获取所有参数,但不能获取状态。
<form id="myForm" onsubmit="handleNewAccountFormSubmit(this);" method="post" action="<?= ScriptApp.getService().getUrl(); ?>">
我也一直尝试使用附带的.withFailureHandler()处理它,但是不确定如何触发它,或者不确定是否可以从我的.GS回调函数。我也尝试过FormSubmit函数之外的onFail()函数。
function handleNewAccountFormSubmit(formObject) { google.script.run.withFailureHandler(onFail).withSuccessHandler().processNewAccountForm(formObject); function onFail(error) { Logger.log(error) console.log(error) return google.script.run.onError(); } }
我基本上是想说明该功能是否成功运行以提供用户体验,但不确定最佳实践或不确定性,甚至是不可能的(我敢肯定!)
我期待任何想法,更正,如果不清楚,我会尽力提供更多信息。
再次感谢。
我希望每个人在目前的情况下都安全健康。我对使用Google Apps脚本的项目有疑问。我有一个Web应用程序,并且能够使用...
使用成功或失败处理程序来提醒用户: