无法读取属性“”;0”;从未定义

Cannot read property "0" from undefined

本文关键字:未定义 读取 属性      更新时间:2023-09-26

无法从未定义中读取属性"0"。

我找不到问题

function sendSurvey() {
  var recipient = Browser.inputBox("Send Survey", "Enter Recipient Email", Browser.Buttons.OK_CANCEL);
  if (recipient === 'cancel') return;
  var subject = 'Commuting Survey';
  var scriptUrl = ScriptApp.getService().getUrl();
  if (!scriptUrl) throw new Error( 'You must Deploy as Web App first.' );
  var template = HtmlService.createTemplateFromFile('emailTemplate');
  template.scriptUrl = scriptUrl;
  template.serialNumber = getGUID();  // Generate serial number for this response
  var html = template.evaluate().getContent();
  var plainText = 'Please complete this survey online at: ' + scriptUrl;
  html += '<p>Alternatively, you may <A href="' + scriptUrl + '"> complete this survey online.</A>';
  GmailApp.sendEmail(recipient, subject, plainText, {htmlBody:html} );
  Browser.msgBox("Survey Sent");
}

function doGet() {
  // Build survey body
  var template = HtmlService.createTemplateFromFile('emailTemplate');
  template.scriptUrl = ScriptApp.getService().getUrl();
  template.serialNumber = getGUID();  // Generate serial number for this response
  var app = template.evaluate();
  return app;
}
function doPost(e) {
  Logger.log(e);
  var ss = SpreadsheetApp.openById(_spreadsheetId);
  var sheet = ss.getSheets()[0];  // Assume first sheet collects responses
  var row = [
    new Date(),                     // Timestamp
    e.parameters.serial[0],         // Serial Number
    e.parameters.pytanie1[0],        // Pytanie 1
    e.parameters.pytanie2[0],        // Pytanie 2
  ];
  var lock = LockService.getPublicLock();
  // Wait for up to 30 seconds for other processes to finish.
  var locked = lock.tryLock(30000);
  if (locked) {
    var rowNum = sheet.getLastRow()+1;
    sheet.getRange(rowNum, 1, 1, row.length).setValues([row]);
    // Release the lock so that other processes can continue.
    lock.releaseLock();
    var result = "Response Recorded: 'n  "+row.join(''n  ');
  }
  else {
    // Failed to get lock
    result = "System busy, please try again.";
  }
  // Report result of POST, in plain text
  return ContentService.createTextOutput(result)
                       .setMimeType(ContentService.MimeType.TEXT);
}

无法从未定义中读取属性"0"。

我找不到问题无法从未定义中读取属性"0"。

我找不到问题无法从未定义中读取属性"0"。

我找不到问题无法从未定义中读取属性"0"。

我找不到问题

您有一个问题:

  • ss.getSheets函数返回未定义的 (在我阅读了文档后,我发现这是不可能的)
  • e.parameters对象的其中一个属性不存在:
    • 串行
    • pytanie1
    • pytanie2

您可以添加一些console.log来查看哪个属性不存在。。。

尝试删除e.parameters.pytanie2[0]后的逗号(,)

var行=[

new Date(),                     // Timestamp
e.parameters.serial[0],         // Serial Number
e.parameters.pytanie1[0],        // Pytanie 1
e.parameters.pytanie2[0]**,**        // Pytanie 2

];