2015-02-11 64 views
0

Code.gsGAS - 传递变量到HTML输出,然后进入一个scriptlet

function doPost(e) { 
    ... 
    template.data += getCustomerData + "<br>"; 
} 
return template.evaluate().setSandboxMode(HtmlService.SandboxMode.IFRAME); 

的index.html

... 
<?= data ?> 

,并不包括显示正确的值的代码。但是,它不会将<br>转换为html。我不知道为什么它不起作用,因为template.evaluate()应该返回一个HtmlOutput对象。

回答

6

默认情况下,字符串会被清理,将特殊字符转换为其HTML编码的等效字符(例如<变为& lt;)。

输出HTML时,必须使用<?!=以避免消毒数据。

<?!= data ?>

参见标准&力印刷小脚本这里的细节: https://developers.google.com/apps-script/guides/html/templates#standard_scriptlets

+0

这并设置数据,但是,它是有限的,因为数据需要预先格式化(除非它的东西简单就像一个字符串或数字)。有关将服务器变量传递给客户端html的更全面的方法,请参阅此答案:我在此处提供了有关此问题的答案:http://stackoverflow.com/a/38314034/2213940 – 2016-07-11 18:56:18