req.body.username 未定义

Ank*_*zle 1 node.js express body-parser

在 express js 中,我使用正文解析器来获取用户名。当我尝试获取用户名时,它返回未定义。谁能帮我?

app.use(session({
 cookieName: 'session',
 secret: "Shh_It's_a_secret",
 duration: 100000 * 100000
}));
app.use(bodyParser.urlencoded({ extended: true }));
app.get('/home', (req, res) => {
if(req.body.username){
 res.send('Invalid Username, Press The Back Button To Try Again');
} else if (!req.body.username) {
  app.use(express.static(__dirname + '/NerdFestProjectHomepage.html'));
  res.sendfile('NerdFestProjectHomepage.html');
  console.log(req.body.username);
}
})
Run Code Online (Sandbox Code Playgroud)

当我尝试获取 req.body.username 时,它​​返回未定义。

Ati*_*kya 5

这是一个 GET 请求。在 express 中,无法使用 GET 请求发送“正文”。

将 GET 更改为 POST 请求:

app.post('/home', cb );
Run Code Online (Sandbox Code Playgroud)

并在视图中使用:

<form action="/home" method="POST"></form>
Run Code Online (Sandbox Code Playgroud)

  • 它应该是`app.post('/home',cb);`,而不是`app.post('/home',cb());`。 (2认同)