大家好,我搜索了很多相关内容并尝试了所有方法,但我仍然在帖子中得到空的身体
(表单发送的正文正确,我只是用 fiddler 进行测试,节点 Express 没有得到它)!
这是代码:
这是我的表格
<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 是错误的,我只是想修复
我假设你需要一个额外的中间件来接受plain/text
format
app.use(express.json());
app.use(express.text()) // this is for plan/text format
app.use(express.urlencoded({extended: true})); //Parse URL-encoded bodies
如果您正在处理multipart/form-data
你可能需要像这样的包multer
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)