即使使用正文解析器也要求将正文清空

时间:2019-06-14 07:02:07

标签: node.js express

要求正文为空。我尝试了req.query,但它也是空的。

我查找了所有类似的问题,但没有一个能解决我的问题。

我也在使用正文解析器。

HTML-

<form id="signup" action='/users/signup' method='post'>
        <div>Email:<input name="email" type="email"/></div>
    <div>Password:<input name="password1" type="password"/></div>
    <div>Enter Password again:<input name="password2" type="password"/></div>
    <div><button type='submit' id='signupbtn' class='formbtn'>Submit</button></div>
    <a href='' id='showlogin'>Already have an account? Log in here</a>
</form>

Server.js-

const express=require('express');
const bodyParser=require('body-parser');
const app=express();
const PORT=process.env.PORT || 3000;

app.use(express.static('../public'));
app.use(bodyParser.urlencoded({extended:true}));
app.use(bodyParser.json());
app.use('/',require(__dirname+'/routes/login.js').router);
app.use('/',require(__dirname+'/routes/signup.js').router);

app.get('/',(req,res)=>{
    res.sendFile('index.html');
});


app.listen(PORT,()=>{
    console.log('Server running on port'+PORT);
});

Signup.js-

const express=require('express');
const router=express.Router();


router.post('/users/signup',function(req,res){
        console.log(req.body);
});

exports.router=router;

1 个答案:

答案 0 :(得分:0)

最后想通了!!

我在Submit按钮上使用了preventDefault来阻止重新加载页面,但是这也阻止了数据发送到服务器。