【发布时间】:2021-06-14 14:50:05
【问题描述】:
大家好,我搜索了很多关于它并尝试了一切,但我仍然在帖子中得到空的身体 (表单发送正文正确我只是用提琴手测试节点快递没有得到那个)!
代码如下:
这是我的表格
<form action="/user/login" method="POST">
<div class="form-group">
<label class="form-control-label">USERNAME</label>
<input type="text" class="form-control" name="username">
</div>
<div class="form-group">
<label class="form-control-label">PASSWORD</label>
<input type="password" class="form-control" name="password">
</div>
<div class="col-lg-12 loginbttm d-flex">
<div class="col-lg-6 login-btm login-text">
<p id="loginError" class="text-danger"></p>
</div>
<div class="col-lg-6 login-btm login-button">
<button type="submit" class="btn btn-outline-primary" id="loginBtn">LOGIN</button>
</div>
</div>
</form>
这是我的路由器和快递代码:
app.use(express.json());
app.use(express.urlencoded({extended:true}));
const {loginRouter,loginRouterP} = require('./src/routes/login');
app.use('/login', loginRouter);
app.use('/user/login', loginRouterP);
这是其他文件夹中的登录路由器,我得到正文为空:
loginRouter.get('',async(req,res) => {
res.render('login');
});
loginRouterP.post('',async(req,res) => {
console.log(req.body); // This is always {} i tried almost everything I found in stackoverflow
});
编辑:抱歉,我只是想修复错误的 enctype
【问题讨论】:
-
打开你的浏览器控制台,看看浏览器发送了什么样的
Content-type标头,如果是multipart/form-data,你可能需要像multer这样的附加包 -
如果您不处理任何文件,请将
multipart/form-data更改为application/x-www-form-urlencoded或删除enctype="multipart/form-data"(默认值,即采用第二个选项)。
标签: node.js forms express post