[英]Nodejs, Express How to pass variable to route and use it in external JavaScript file?
我正在使用MongoDB Express NodeJS堆栈的Web应用程序上工作,并且在其中一种路由中,我从数据库中获取数组,然后将其传递给路由。 码:
app.get("/badges/new", function(req, res) {
Colour.find({}, function(err, foundCoulours) {
if(err){
console.log("error: "+ err);
res.redirect("back");
} else {
res.render("badges/new",{foundCoulours:foundCoulours})
}
});
});
一切都很容易完成,但此刻我有些卡住:我想使用jQuery根据服务器的结果将元素添加到页面上。 我可以在ejs文件上使用脚本标记和内联JS来完成此操作,而不会出现任何问题,但是我想做的是使用外部JavaScript文件,这样我的ejs就不会像使用<script src="public/foo.js"></script>
。 问题:有没有办法在将路由传递到路由之后将foundCoulours传递到"public/foo.js"
文件? 或者,也许我可以将其直接从请求路由传递到"public/foo.js"
文件。
您可以顺序加载脚本。 如下:
玉
body
script(type='text/javascript').
var foundCoulours= #{foundCoulours}
script(type='text/javascript', src="foo.js")
EJS
<script>
var foundCoulours = <%= foundCoulours>
</script>
<script src="public/foo.js"></script>
解释:在全局范围内加载foundCoulours变量时,可以在foo.js中直接访问它,因为它是在变量初始化之后加载的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.