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) 并且它总是未定义。如果我没有会话,则正文部分有效。
如果我的理解是正确的,你能澄清一下吗?这段代码有什么问题。我在理解会话的概念以及如何在快速框架中使用它时遇到了真正的问题