使用ejs进行前后端交互,注意是否需要html转义

EJS模板引擎中,<% %><%= %> 和 <%- %> 是三种常见的模板语法结构。

1. <% results %>

不起任何多余作用。这种语法用于嵌入 JavaScript 代码片段到 HTML 文件中。它不会将任何内容输出到最终渲染的页面上,而是仅执行其中的逻辑操作。<% ... %> 负责控制流逻辑,而实际的内容由其他语法负责输出。

2.<%= results %>

HTML转义。这种语法会将 results 的值经过 HTML 转义 后输出到页面中。转义意味着特殊字符(如 <>& 等)会被替换为对应的 HTML 实体(如 &lt;&gt;&amp;),从而防止潜在的安全风险(如 XSS 攻击)。

3.<%- results %>

不进行任何HTML转义。这种语法类似于 <%= results %>,但它不会对输出内容进行 HTML 转义,而是直接将其作为原始字符串插入到页面中。因此,这种方式适用于需要动态注入 HTML 片段的情况,但也可能带来安全风险。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值