如何在jade中创build一个用于node.js的variables

我是新来expression节点,我负责一个Web应用程序的前端。 我需要能够让用户按下一个链接,并为该链接时,按下通过variablesindex.js此链接可以让用户select他们想要testing的问题类别。 我不认为每个类别有不同的路线是最好的select。 但因为我是新的,我不知道该怎么做。

这里是我的链接在玉的代码(我想添加一些东西在这里做我想做的)有一个链接到本文底部的页面截图。

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是我想要保存类别的string的variables。

 //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,我想能够读取variables中的温度是variables我想分配用户select的类别。

 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()}); }) } 

预先感谢您的帮助!

这里是类别select的Web应用程序的屏幕截图

所以看起来像你试图做的是有一个button发送数据回你的服务器。 这样做需要向服务器发出另一个请求。 你可以添加一个处理这个数据的路线,就像这样…

 app.get('/question/:id', function(req, res) { var id = req.params.id; //do something with this id like render a page ); 

然后你的链接看起来像这样

 a(href="/question/1") Question 1 a(href="/question/2") Question 2 

这应该工作,如果您有任何问题,只是留下评论:)

尝试添加这个testing路线

 app.get('/test/id', function(req, res) { res.send(req.params.id); );