ログインシステムを構築するために使用している Node.js アプリがあります。ログイン システムは動作していますが、「ログインしているユーザー名」を表示するには、ページを手動で更新する必要があります。ログインするために入力する必要があるサインイン/サインアップ フィールドを非表示にできます。
ここに私のapp.jsコードがあります:
/**
* Application Configuration
*/
app.configure(function(){
app.set('port', process.env.PORT || 3000);
app.set('views', __dirname + '/views');
app.enable('jsonp callback');
app.set('view engine', 'jade');
app.set('view options', {layout : false});
app.use(express.bodyParser());
app.use(express.cookieParser());
app.use(express.session({
secret : 'sessionsecret'
}));
app.use(express.methodOverride());
app.use(express.static(__dirname + '/public'));
app.use(function(req, res, next){
res.locals.session = req.session;
next();
});
app.use(app.router);
});
そしてlogin.js
、これがログインフォームを隠している部分です。
if(username && password){
$.post('/login', $(this).serialize(), function(response){
if(response.retStatus === 'success'){
$('#loginForm').hide();
$('#signup-btn').hide();
//$(location).attr('href', '/admin');
}else if(response.retStatus === 'failure'){
$('#signup-error-modal').modal('show');
}
});
}
});
最後に、これはユーザー名を自動的に表示するビューの JADE/HTML コードです。
if(session.user)
div#logoutsection.pull-right
a#logout-btn.btn.btn-info.pull-right.top-bar-form-button(href='/logout') Logout
p#loginprompt.pull-right.login-prompt #{session.user.username}
small logged In
else
a#signup-btn.btn.pull-right.top-bar-form-button(href='#signup-modal', data-toggle="modal") Sign Up
form.pull-right.form-horizontal.top-bar-form(method="post", id="loginForm")
input.input-small.top-bar-form-textbox(id="username", type="text", name="User", placeholder="Username")
input.input-small.top-bar-form-textbox(id="password", type="password", name="Password", placeholder="Password")
button.btn.btn-primary.top-bar-form-button(type="submit", value="Sign In") Sign In
これ以上コードを見たい場合はお知らせください。すべてここにあると思います。しかし、ユーザー名を表示するために手動で更新する必要がある理由が本当にわかりません。どんなアイデアでも歓迎しますか?