2016-12-22 2 views
0

私はnodejsを初めて使用しています。ビジュアルスタジオのMVCフレームワークでは、ロールを作成したり、ユーザー名に基づいてページの特定の部分やメッセージを表示することもできます。 nodejsでこれをどうやって行うことができますか?たとえば、 "You like cats" for username abcdまたは "You like dogs" for username efghまたは "You're not an animal person" for all other usersのように表示したいログインページがあります。nodejsのユーザー名に基づいたユーザーのユニークなメッセージ

私は役割がうまくいくことは知っていますが、ここでは役割の代わりに、私はユーザー名に基づいてこれをしたいと思います。これも可能ですか?

サーバー側ログインパーツ:あなたは(例えばhandlebarsなど)テンプレート言語を使用しての中に見ることができる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

あなたが現在作業しているコードを投稿することができますか? –

+0

あなたのリクエストを作成するには、Node.jsのユーザー管理のためにpassport.jsを使用することをお勧めします。 – RLaaa

答えて

1

を接続する

app.post('/login', passport.authenticate('local'), 
    function(req, res) { 
    res.redirect('/home'); 
}); 

スクリプト。その後、静的ページを提供する代わりに、ユーザー固有の情報をテンプレートとしてレンダリングできます。

Expressを使用しているようです。もしそうなら、Expressでテンプレートエンジンを使用する場合のthisガイドをご覧ください。

+0

これは私が探していたようです。翡翠はこれを行うためにパグに置き換えられているようだ。ありがとう – duckvader

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) 
}) 
関連する問題