Я новичок, чтобы выразить узел, и я несу ответственность за интерфейс веб-приложения. Мне нужно, чтобы пользователь нажал ссылку и для этой ссылки, когда переменная пресса переходила к index.js, эта ссылка позволяет пользователю выбрать, какую категорию вопроса они хотят протестировать. Я не думаю, что лучший вариант для каждой категории. но поскольку я новичок, я не уверен, что делать.Как создать переменную в jade, которая будет использоваться в node.js
Вот код моей ссылки в jade (я хочу добавить что-то здесь, чтобы сделать то, что хочу) есть ссылка на скриншот страницы внизу этого сообщения.
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
Я не думаю, что вы действительно понимаете, что нефрит делает. Джейд - всего лишь шаблонный язык. Это не интерфейсная система. Вы не можете передать переменную из нефрита на ваш сервер узла. У вас должна быть логика на стороне клиента, например javascript (сторона браузера), чтобы отправить значение nodejs. – tsturzl
ok Я бы с удовольствием учился. Что я могу/должен изучать? Мой опыт в основном связан с c и сборкой, и я недавно изучил Java в этом семестре в своем инженерном классе. Это первый раз, когда я имел дело с javascript. –
Думаю, я не знаю, что вы пытаетесь сделать. Не помешало бы сделать несколько учебников по стеку MEAN, чтобы вы могли понять, как управлять состоянием между сервером и клиентом, отправлять данные туда и обратно и понимать, что такое логика сервера и какова логика клиента. – tsturzl