基于nodejs中的用户名为用户提供的唯一消息

时间:2016-12-22 21:23:37

标签: node.js

我是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!");
    });
}

2 个答案:

答案 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)
})