0

问:为什么在运行下面的脚本(作为 web 应用程序)后 e.parameter.wfId 未定义(在日志中)

我用这个 URL 调用脚本

https://script.google.com/a/macros/gappspro.com/exec?service=my-webapp-key 不带参数 (&wfId=somecharacters)

function doGet(e) {

    var app = UiApp.createApplication().setTitle('Workflow Builder');

    var mainGrid = app.createGrid(2,1).setId('FILE_doGet_mainGrid');

    app.add(mainGrid);

    var wfId = '1234567890'  // FILE.doGet.randomString();

    mainGrid.setWidget(1,0, app.createTextBox().setValue(wfId).setId('wfId').setName('wfId'));

    var handler = app.createServerHandler('func');
    handler.addCallbackElement(mainGrid);

    Logger.log(e.parameter.wfId);     

    return app;
  } 

function func(e) {
  return x;
 }

我正在尝试实现 james ferreira 的书 Enterprise Application Essentials 的第 8 章中的工作流脚本,在添加文档部分我遇到了 e.parameter.wfId 行“var wfRowArray = FILE.ssOps.getWfRowFromSS(e.parameter .wfId), “在运行脚本时未定义。(在书中的第 134 页,而不是 PDF)。在上面的示例中,我将代码带回到了导致错误的本质,......对我来说。

4

2 回答 2

0

e.parameter.wfId仅在您的 func(e) 函数中可用,在 doGet 中不可用。该变量表示处理函数捕获e的元素。callBackElement

于 2012-08-25T15:39:51.763 回答
0

如果我正确理解了您的问题,则其行为符合预期。你说“h-ttps://script.google.com/a/macros/gappspro.com/exec?service=my-webapp-key 没有参数(&wfId=somecharacters)”

因此,我相信您没有将任何 URL 参数传递给脚本 URL,因此您将它们视为未定义。

如果您使用 URL 参数调用脚本,例如 h-ttps://script.google.com/a/macros/gappspro.com/exec?service=my-webapp&wfId=somecharacters,那么您可以期望看到 e.parameter。 wfld

于 2012-08-25T16:59:30.223 回答