我是新来表达节点的,我负责Web应用程序的前端。我需要能够让用户按下一个链接,并将该链接按下时将变量传递给index.js,这个链接可以让用户选择他们想要测试的问题类型。我不认为每个类别都有不同的路线是最好的选择。但因为我是新的,我不知道该怎么做。如何在jade中创建变量以用于node.js
这里是我的链接在玉的代码(我想添加一些东西在这里做我想做的)有一个链接到本文底部的页面截图。
li.active
a(href='freeplay')
i.fa.fa-edit
span.nav-label Freeplay
span.fa.arrow
ul.nav.nav-second-level
li
a(href='freeplay/category') Category1
li
a(href='freeplay/category') Category2
li
a(href='freeplay/category') Category3
li
a(href='freeplay/category') Category4
li
a(href='freeplay/category') Category5
这是我的index.js,它处理它。 temp是我想要保存类别字符串的变量。
//Handle the free play request
router.get('/freeplay' , isAuthenticated, freeplay.startFreePlay);
//Handle the free play request with category
router.get('/freeplay/category' , isAuthenticated, freeplay.startCategoryPlay);
最后,我希望能够在对温度读取变量Node.js的是我要指派用户所选类别的变量。
exports.startFreePlay = function(req, res) {
//grab a question that the user has not gotten right
//Get the users logged in id
userId = req.session.passport.user;
freePlayLogic.getQuestion(userId, function(question){
res.render("FreePlayQuestion", { question: question , questionID : question._id.toString()});
})
//Pass the question to render
};
exports.startCategoryPlay = function(req, res){
//grab a question that the user has not gotten right
//Get the users logged in id
userId = req.session.passport.user;
/**
* get a question from category "temp"
*/
freePlayLogic.getQuestionFromCategory(userId, "temp", function(question){
res.render("FreePlayQuestion", { question: question , questionID : question._id.toString()});
})
}
在此先感谢您的帮助!
here is a screenshot of the web app with the category choices
我不认为你真正了解什么是玉做的。 Jade只是一种模板语言。它不是一个前端框架。你不能将一个变量从玉石传递给你的节点服务器。您必须具有客户端逻辑,如javascript(浏览器端)才能将值发送回nodejs。 – tsturzl
好吧我很乐意学习。我可以/应该考虑什么?我的背景主要是c和assembly,最近刚刚在我的工程课上学到了java这个学期。这是我第一次处理javascript。 –
我想我不知道你在做什么。在MEAN堆栈上做几个教程并不会有什么坏处,所以您可以理解如何管理服务器和客户端之间的状态,来回发送数据以及了解什么是服务器逻辑和什么是客户端逻辑。 – tsturzl