【发布时间】:2020-08-17 18:50:47
【问题描述】:
基本上,这个简单的表单提交不会返回任何内容。使用邮递员,我只能获取 request.body 数据,或者输入名称为 undefined (console.log) / {}。在表单提交上什么都没有发生。我已经阅读了所有 body-parser 解决方案,但据我所知,这现在由 express 4 处理。
这是我的表单(home.ejs):
<form action="/" method="POST">
<div class="form-group">
<label for="name">Name:</label>
<input type="text" name="name" class="form-control" id="name">
</div>
<button type="button" type="submit" class="btn btn-primary submit">Submit</button>
</form>
这是我的服务器代码:
//Load packages
const express = require('express');
const app = express();
app.use(express.urlencoded({ extended: true}));
app.use(express.json());
app.use(express.static('public'));
app.set("view engine", "ejs");
//SERVER
// Listen to the App Engine-specified port, or 8080 otherwise
const PORT = process.env.PORT || 8080;
app.listen(PORT, () => {
console.log(`Server listening on port ${PORT}...`);
})
//render home page
app.get('/', function(req,res){
res.render("home");
});
//post request
app.post('/', function(req, res)
{var body = res.json(req.body)
var name = body.name;
console.log(name);
});
【问题讨论】:
-
type="button" type="submit" - 也许你应该删除 type="button" ?你试过了吗?