我是Express的新手。不知道我做错了什么... 这是我的情况的快速模型。
app.js
const app = express();
const bodyParser = require('body-parser')
const port = 3000;
app.set('view engine', 'pug');
app.use('/static', express.static('./public'));
const urlEncoded = bodyParser.urlencoded({ extended: false });
const jsonParser = bodyParser.json();
app.get('/', (req, res) => {
res.render('index')
});
app.get('/form', (req, res) => {
res.render('form');
});
app.post('/', urlEncoded, (req, res) => {
console.log(req.body);
});
app.listen(port, () => {
console.log(`This app is listening on localhost:${port}`);
});
form.pug
block content
form(action="/" method="post")
label(for="name")
input(for="name" id="name")
input(type="submit")
控制台中的结果是一个空对象。
答案 0 :(得分:2)
您在id和name标签之间感到困惑。name属性用于引用JavaScript中的元素,或在提交表单后引用表单数据,这就是html表单中缺少的内容。因此,只需添加名称属性。
block content
form(action="/" method="post")
label(for="name")
input(for="name" id="name" name = "name")
input(type="submit")