2012-09-07 34 views
0

我在我的應用程序腳本項目中有一個HTML模板,我試圖評估它。我不斷收到服務器錯誤(不是很有幫助),但在調試時找不到任何東西。我嘗試了getCode()的運行結果,但沒有錯誤。然後我也運行輸出$ out.getContent()(這裏描述https://developers.google.com/apps-script/html_service),它給了我預期的html輸出。HtmlService模板的服務器錯誤,調試不會顯示任何內容

我會附加HTML文件,但它包含很多變量,並且我無法創建帶有錯誤的精益版本。我希望有人知道更好或正確的方式來調試這些文件。

編輯:這裏有文件反正

HTML文件:

<html> 
    <body> 
    <form action="https://script.google.com/macros/s/AKfycbxHQDJoAtAjBF9uIctvmxBHv-QVpYf6f15UZf8aAnAh_1U_PzU/exec" method="POST" id="mail-form"> 
     <table> 
     <tr style="background-color: #392303; font-size: large; line-height: 30px;"> 
      <th> 
      <a href="<?= info.profile ?>" style="color: #e06c01; font-weight: lighter;"><?= userForm.userName ?></a> 
      </th> 
      <th colspan="3"> 
      <div width="250px" style="color: #e06c01; font-weight: lighter; float: left; text-indent: 10px;"><?= userForm.experience ?></div> 
      <div style="color: #FFFFFF; background-color: <?= userForm.pastColor ?>; border: 1px solid white; width: 28px; height: 28px; float: right;" title="<?= userForm.pastApplications ?>"> 
       <center><?= userForm.pastNumber ?></center> 
      </div> 
      </th> 
     </tr> 
     <tr style="background-color: #9c9181"> 
      <td width="100"> 
      <center><p style="font-size:small; top: 5px; margin-bottom: 3px;">Thanks meter: <?= info.thanks ?></p></center> 
      <center><img alt="" src="" style="margin-bottom: 10px;"/></center> 
      <center><img src="<?= info.avatar ?>" style="height: 60px; margin-bottom: 10px;" /></center> 
      <center><p style="font-size:small; margin-bottom: 3px; margin-top: 3px;">Posts: <?= info.totalPosts ?></p></center> 
      <center><p style="font-size:small; margin-bottom: 3px; margin-top: 3px;">Per day: <?= info.postsPerDay ?></p></center> 
      <center><p style="font-size:small; margin-bottom: 3px; margin-top: 3px;">Join date: <?= info.joinDate ?></p></center> 
      <center><p style="font-size:small; margin-bottom: 3px; margin-top: 3px;">Last activity: <?= info.activity ?></p></center> 
      </td> 
      <td> 
      <center><?= userForm.onSite ?></center> 
      </td> 
      <td> 
      <center><?= userForm.tools + '\n' + '\n' + userForm.theHardPart ?></center> 
      </td> 
      <td width="100"> 
      <center><?= userForm.development ?></center> 
      </td> 
     </tr> 

     <tr style="background-color: #392303; font-size: large; line-height: 30px;"> 
      <td colspan="4" style="color: #e06c01; font-weight: lighter; text-indent: 10px;">Review</td> 
     </tr> 

     <tr style="background-color: #9c9181"> 
      <td colspan="1" valign="top"> 
      <label><input type="radio" name="review" value="approved" id="review_1">Accept</label> 
      </td> 
      <td colspan="1" valign="top"> 
      <label><input type="radio" name="review" value="rejected" id="review_2">Reject</label><br><br> 
      <label><b>Reason(s) for user</b></label><br> 
      <label><input type="checkbox" name="reason" value="Reason1" id="requirements">Reason1</label><br> 
      <label><input type="checkbox" name="reason" value="Reason2" id="requirements">Reason2</label><br> 
      <label><input type="checkbox" name="reason" value="Reason3" id="requirements">Reason</label><br> 
      <label><input type="checkbox" name="reason" value="Reason4" id="requirements">Reason4</label><br> 
      <label><input type="checkbox" name="reason" value="Reason5" id="requirements">Reason5</label><br> 
      <label><input type="checkbox" name="reason" value="Reason6" id="requirements">Reason6</label><br> 
      </td> 
      <td colspan="1" style="text-indent: 3px;"> 
      <label><b>Feedback</b></label><br> 
      <label><i>Rejections:</i> <b>WARNING</b> users will see this</label><br> 
      <label><i>Approvals:</i> only for us</label><br> 
      <textarea name="comments" rows="10" cols="35" id="comments"></textarea> 
      </td> 
     </tr>   
     </table> 

     <input type="hidden" name="userName" id="userName" value="<?= userForm.userName ?>"/> 
     <input type="hidden" name="reviewerName" id="reviewerName" value="<?= userForm.reviewer ?>"/> 
     <input type="hidden" name="link" id="link" value="<?= info.profile ?>"/> 
     <input type="hidden" name="row" id="row" value="<?= userForm.row ?>"/> 
     <input type="hidden" name="hash" id="hash" value="<?= userForm.hash ?>"/> 

     <div> 
     <div style="float: left;"> 
      <input type="submit" name="submit" id="submit" value="Submit"> 
     </div> 
     <div style="float: right;"> 
      <a href="mailto:<?= mailTo ?>?subject=<?= subject ?>&body=<?= body ?>"> 
      <b>Consult</b> 
      </a> 
     </div> 
     </div> 

    </form> 
    </body> 
</html> 

腳本的相關部分:

var htmlTemplate = HtmlService.createTemplateFromFile('DC Form'); 
    htmlTemplate.userForm = userForm; 
    htmlTemplate.info = info; 
    htmlTemplate.mailTo = mailTo; 
    htmlTemplate.subject = 'CONSULT: ' + userForm.userName; 
    htmlTemplate.body = 'Profile link: ' + userForm.profile + '\n' + '\n'; 
    var code = htmlTemplate.getCode(); 
    Logger.log(code); 
    var html = htmlTemplate.evaluate().getContent(); 

任何將不勝感激,

M. Oranje

編輯:

使用卡哈遊樂場後,我發現了一個錯誤在這一行:

<div style="color: #FFFFFF; background-color: <?= userForm.pastColor ?>; border: 1px solid white; width: 28px; height: 28px; float: right;" title="<?= userForm.pastApplications ?>"> 

難道使用內部小腳本屬性不支持?

+0

你能發佈運行模板的.gs文件嗎?這可能包含一些線索。 –

+0

新增了這些文件,謝謝 –

回答

0

沒有觸及你的HTML,我想你的.GS文件的這種輕微的變體:

function doGet() { 
    var htmlTemplate = HtmlService.createTemplateFromFile('DC Form'); 
    var userForm = {userName: 'userName', profile: 'profile'}; 
    htmlTemplate.userForm = userForm; 
    htmlTemplate.info = "info"; 
    htmlTemplate.mailTo = "mailTo"; 
    htmlTemplate.subject = 'CONSULT: ' + userForm.userName; 
    htmlTemplate.body = 'Profile link: ' + userForm.profile + '\n' + '\n'; 
    var code = htmlTemplate.getCode(); 
    Logger.log(code); 
    return htmlTemplate.evaluate(); 
} 

這工作對我很好。我懷疑變量中的某個值有問題。

+0

謝謝,我以爲scriptlet標籤會逃離這些值,因此從來沒有想過要看那裏。我會嘗試調試,看看我能想出什麼。 –

+0

我仍然收到錯誤,但現在完全在不同的html中。這個HTML昨天運行了一整天,並在一天結束時開始出錯。我已經能夠隔離產生錯誤的那一段,但是當我在一個單獨的文件中運行同一段html時,服務器錯誤消失了。我開始經歷輕微的頭痛,有沒有比「服務器錯誤」更復雜的錯誤信息呢? –

+0

現在在Chrome瀏覽器中,只要我添加第19行就會返回服務器錯誤,但在Firefox中只有在添加第21行的html時纔會出現此錯誤。然而HTML和變量(字符串)在我看來都很正常。我希望你能做出這個@Corey的東西 –

0

那麼,它看起來像寬度屬性中的'px'的一個簡單的缺失是所有這些麻煩的原因。

<td width="100"> 

這是相當難以定位,因爲只有出現在一定條件下的誤差,可能只有當該尺寸不匹配不管它是什麼。這就是Corey G.儘管必須是變量的原因,因爲變量必須具有一定的長度才能觸發寬度誤差。頭痛消失了。

相關問題