Я надеюсь, что все хорошо, несмотря на пандемию c, которую мы испытываем прямо сейчас. В настоящее время я занимаюсь школьным проектом и застрял в бесконечном попытке разобраться. Я ищу способ доступа к данным, переданным моим обработчиком маршрута к моему шаблону руля, в отдельный файл 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 (внешний. js файл для манипулирования html)
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}}, а не фактическое значение. Любая помощь будет принята с благодарностью. Спасибо всем!