ejsを使用して、ノードエクスプレスアプリケーションのreq.userからユーザー名を出力しようとしていますが、動作していないようです。私のユーザー名とパスワードが入って来ユーザー名をreq.userから取得して明示的に出力することはできません
これは、次のとおりです。これは
req.user: [ { _id: 5890f8a97ef995525d4b78cd,
username: 'dave',
password: 'somepassword',
__v: 0 } ]
:この時点で
app.get('/', function(req, res) {
res.render('index', {
isAuthenticated: req.isAuthenticated(),
user: req.user
});
console.log("req.user:", req.user);
});
は、私は、端末内req.userは次のように表示され見ることができます私が持っているものは何ですか?
<!DOCTYPE html>
<html>
<head>
<title>Login</title>
<head>
<body>
<% if (!isAuthenticated) { %>
<a href="/login">Log in here</a>
<% } else { %>
Hello, <%= user.username %>!
<a href="/logout">Log out</a>
<% } %>
</body>
</html>
そして、これは、ログインフォームです:
<!DOCTYPE html>
<html>
<head>
<title>Passport</title>
<head>
<body>
<form action="" method="post">
<input type="text" name="username" placeholder="Username">
<input type="password" name="password" placeholder="Password">
<input type="submit" value="Login">
</form>
</body>
</html>
私が最初に私のindex.ejsでこれを持っていたが、それでも出力ユーザ名ませんでした。
Hello, <%= user.name %>!
は、任意のヘルプをお願い申し上げます。
Josh、ご意見ありがとうございます。残念ながら、私が試した2つの変更はうまくいかなかった。'GET http:// localhost:3000/net :: ERR_CONTENT_LENGTH_MISMATCH' 「Hello、<%= user [0] .username%>!」でindex.ejsページを更新すると、このエラーが発生しました。 'TypeError:未定義のプロパティ '0'を読み取ることができません。 ' – marcusk7
Josh、私はこれを動作させました。あなたの最初の解決策の一部が正しいです、私はあなたに信用を与え、ちょうどここで答えを更新します。私は 'username [0] .username'に変更し、' user:req.user'の代わりに 'username:req.user'を使用しました。 'username'のキーは、オブジェクトのプロパティーがどのように使われるかと一致する必要があります。 – marcusk7