2014-10-28 2 views
-4

Невозможно прочитать свойство «0» из undefined.Невозможно прочитать свойство «0» из undefined

Я не могу найти проблему

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» из неопределенного.

Я не могу найти проблему

+3

Извините, что услышать это. У вас есть вопрос? – georg

+0

Почему вы повторяете эти два предложения столько раз? – Oriol

+0

откройте консоль (https://developer.chrome.com/devtools/docs/console#opening-the-console) вашего браузера и посмотрите, на какой строке происходит ошибка. – Victor

ответ

0

У вас есть одна из этих проблем:

  • В ss.getSheets функция возвращает неопределенное (После того, как я прочитал в документации, я увидел, что это невозможно)
  • Один из этих свойств e.parameters объекта не существует:
    • серийный
    • pytanie1
    • pytanie2

Вы можете добавить некоторые console.log с, чтобы увидеть, есть свойство, которое не существует. ..

0

Попробуйте удалить е запятой (,) после того, как e.parameters.pytanie2 [0]

вар строки = [

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

];

Смежные вопросы