var express = require('express');
var app = express();
app.use(express.cookieParser('keyboard 123'));
app.get('/', function(req, res){
res.sendfile('./login.html');
});
app.use(express.session());
app.post('/login', function(req, res){
console.log(req.body);
if (req.session.user) {
req.session.user=req.body.username;
} else {
req.session.user="test";
}
});
<form id="myform" action="/login" method="post" enctype="application/x-www-form-urlencoded">
<input type="text" name="username" id="mytext" />
<input type="submit" id="mysubmit" />
</form>
Express Node js を理解し、使用しようとしています。ここに投稿するフォームがあります。私の理解は次のとおりです。初めて使用できるCookie(セッション)がありません。したがって、リクエストを受け取ると、 req.session.user は空になります。だから私たちは 200 OK を送信します。この req.session.user Cookie が作成され、ローカル ブラウザーに保存されます。その後、すべてのreqでこのreq.sessionオブジェクトが送信されますが、それは正しいですか?
今の問題は次のとおりです。私は常に req.body.username を未定義として取得します。ログインページに同じユーザー名が定義されています。console.log(req.body) を試しましたが、常に未定義です。セッションがない場合は、ボディ部分が機能します。
私が理解していることが正しいかどうか、そしてこのコードの問題は何かを明確にしてもらえますか。セッションの概念とエクスプレスフレームワークでの使用方法を理解するのに本当に問題があります