Req.body 在 express 中是空的,即使我做了一切
Req.body is empty in express even i did everything
大家好,我搜索了很多相关内容并尝试了所有方法,但我在 post 中仍然是空的
(表单发送正文正确我只是用提琴手测试节点快递没有得到)!
这是代码:
这是我的表格
<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 Whosebug
});
编辑:抱歉,enctype 是错误的,我只是想修复
我假设您需要一个额外的中间件来接受 plain/text
格式
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
这样的软件包
大家好,我搜索了很多相关内容并尝试了所有方法,但我在 post 中仍然是空的 (表单发送正文正确我只是用提琴手测试节点快递没有得到)!
这是代码:
这是我的表格
<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 Whosebug
});
编辑:抱歉,enctype 是错误的,我只是想修复
我假设您需要一个额外的中间件来接受 plain/text
格式
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