我尝试了两种中间件,但仍然在终端中获得了此输出:
{}
我的节点js服务器代码:
express = require('express');
bodyParser = require('body-parser');
const app = express();
//the middlewares i tried
app.use(express.urlencoded({extended: false}));
app.use(bodyParser());
app.get('/', (req, res) => {
res.sendFile(__dirname + '/client.html');
});
app.post('/test', (req, res) => {
res.send('this is a test path');
console.log(req.body);
});
app.listen(3000, () => {
console.log('server listening...');
});
我的表单(client.html文件):
<form method="POST" action="/test">
<input type="text">
<input type="submit">
</form>
我也尝试过与邮递员发送帖子数据。我知道html表单中的操作有效,因为我可以在浏览器中看到“这是测试路径”输出
答案 0 :(得分:1)
尝试
express = require('express');
bodyParser = require('body-parser');
const app = express();
app.use(bodyParser.urlencoded({ extended: false }));
app.get('/', (req, res) => {
res.sendFile(__dirname + '/client.html');
});
app.post('/test', (req, res) => {
res.send('this is a test path');
console.log(req.body);
});
app.listen(3000, () => {
console.log('server listening...');
});
也是html格式,在输入标记中添加 name 属性
<form method="POST" action="/test">
<input type="text" name="email">
<input type="submit">
</form>
答案 1 :(得分:0)
实际上它的作用就像
app.use(express.urlencoded());
错误的是html形式的无名输入
答案 2 :(得分:0)
您应该编写这样的代码
data.json
location [
liste of location
],
URL [
list of url
]