在 EJS (Embedded JavaScript) 模板系统中, 字符串输出时默认是经过escape转义编码的.
// 用=号输出,就会被escapge转义编码
<%= VARIABLE_NAME %>
这种默认转义编码可能会带来麻烦, 比如我要输出一个 json 对象供客户端 javascirpt 使用, 或者想输出一些动态生成的 HTML 标签, 幸运的是EJS提供另一种输出方式:
// 用“-”输出原始内容, 不会被escape,
<%- VARIABLE_NAME %>
回复 (9)
A
嗯
J
###早看到这点,我就不会多浪费很多时间了,妈呀
P
A
underscore 的模块里, - 和 = 的作用刚好反过来。
Y
javascirpt 这个错别字,好吧,我敏感了
B
说起这个问题,我用Jade的时候也遇到过,如果是输出html内容(比如markdown转换过来的),用 = var 模式输出会被转义,所有内容都会被一对<>包裹,用!= var 这种关闭转义能够正常输出
J
咦? code 格式无效了?
F
引用 j4cnodejs咦? code 格式无效了?
markdown 格式不对。。
F
<%- VARIABLE_NAME %>这个变量里面如果含有标签的话,页面就会挂掉....这个咋解决
参与回复
登录后即可参与回复。登录