我是nodejs的新手。在visual studio MVC框架中,可以创建角色,甚至可以根据用户名显示页面的某些部分或消息。我如何在nodejs中做同样的事情?我有一个登录页面,我想在其中显示,例如,
"You like cats" for username abcd
或
"You like dogs" for username efgh
或
"You're not an animal person" for all other users
。
我知道角色会起作用,但在这里而不是角色,我希望这基于用户名。这甚至可能吗?
服务器端登录部分:
app.post('/login', passport.authenticate('local'),
function(req, res) {
res.redirect('/home');
});
连接HTML页面的脚本
function loginUser() {
var username = document.getElementsByClassName("username");
var password = document.getElementsByClassName("password");
$.ajax({
url: url + "/login",
method: "post",
data: {
username: username[0].value,
password: password[0].value
}
}).success(function(response) {
window.location.assign("/home");
}).error(function(response) {
alert("Incorrect username or password!");
});
}
答案 0 :(得分:1)
您可以考虑使用模板语言(例如handlebars)。然后,您可以使用所需的任何特定于用户的信息来呈现模板,而不是提供静态页面。
看起来你正在使用Express。如果是这样,也许请查看使用快速模板引擎的this指南。
答案 1 :(得分:0)
您的问题似乎是如何从请求中访问帖子变量。
尝试:https://www.npmjs.com/package/body-parser
举例:
var express = require('express')
var bodyParser = require('body-parser')
var app = express()
// create application/json parser
var jsonParser = bodyParser.json()
// create application/x-www-form-urlencoded parser
var urlencodedParser = bodyParser.urlencoded({ extended: false })
// POST /login gets urlencoded bodies
app.post('/login', urlencodedParser, function (req, res) {
if (!req.body) return res.sendStatus(400)
res.send('welcome, ' + req.body.username)
})