栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将变量传递给ExpressJS中的JavaScript

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将变量传递给ExpressJS中的JavaScript

您可以使用此(客户端):

<script>  var myVar = <%- JSON.stringify(myVar) %>;</script>

您还可以使用EJS渲染

.js
文件:

app.get('/test.js', function(req, res) {  res.set('Content-Type', 'application/javascript');  res.render('testPage', { myVar : ... });});

但是,模板文件(

testPage
)仍需要具有
.html
扩展名,否则EJS将找不到它(除非您另行告诉Express)。

正如@ksloan在评论中指出的那样:您必须小心

myVar
包含的内容。如果其中包含用户生成的内容,则可能会使您的网站保持打开状态,以进行脚本注入攻击。

防止发生这种情况的可能解决方案:

<script>  function htmlDepre(input){    var e = document.createElement('div');    e.innerHTML = input;    return e.childNodes.length === 0 ? "" : e.childNodes[0].nodevalue;  }  var myVar = JSON.parse(htmlDepre("<%= JSON.stringify(myVar) %>"));</script>


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/575236.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号