【发布时间】:2020-05-02 16:53:16
【问题描述】:
尽管我们现在正在经历大流行,但我希望一切都好。我目前正在做一个学校项目,发现自己陷入了一个无休止的循环,试图弄清楚事情。我正在寻找一种方法,如何将路由处理程序传递给我的车把模板的数据访问到我单独的 javascript 文件。
请看下面的附加代码:
index.js(将变量传递给我的车把模板的路由处理程序)
app.get('/', function(req, res){
if (req.session.loggedin){
professorModel.aggregate([{ $sample: { size: 3 } }]).then(function(qvProfs) {
reviewModel.find({}).populate('profRef').populate('studentRef').sort({_id:-1}).limit(10).exec(function(err,mostRecent) {
collegeModel.find({}).exec(function(err, col){
var colleges = [];
var reviews = [];
col.forEach(function(document){
colleges.push(document.toObject());
});
mostRecent.forEach(function(document){
reviews.push(document.toObject());
});
res.render('frontend/home',{
studentRef: req.session.studentRef,
idNum: req.session.idNum,
colleges: colleges,
data: qvProfs,
review: reviews,
title: 'Home',
});
});
});
});
}
else{
res.redirect('/login')
};
});
主布局('frontend/home'使用的布局)
<script src="/js/script.js"></script>
script.js(用于操作 html 的外部 .js 文件)
var newReview = {
profName: $('#revProfName').find(":selected").text(),
profCourse: $('#revProfCourse').find(":selected").text(),
studentRef: "{{req.session.studentRef}}",
studentId: "{{req.session.idNum}}",
reviewContent: $("textarea#revContent").val()
};
每次我执行 console.log(newReview) 时,我总是得到 {{req.session.studentRef}} 和 {{req.session.idNum}} 而不是实际值。任何帮助将不胜感激。谢谢大家!
【问题讨论】:
标签: javascript jquery node.js express express-handlebars