Post 来自 ejs 视图的请求无效

Post request from ejs view is not working

我正在尝试将用户注册到我的数据库,但我什至无法使我的 post 请求生效。获取部分路由器正在工作,但似乎 post 不工作。

在应用程序中我这样声明路由器(server.js 文件):

const userRoutes = require("./routes/user.js")
app.use('/user',userRoutes)

在 routes/user.js 文件中:

//User register
const userController = require('../controllers/user_controller')
router.get("/register",userController.register_page)
router.post("/register",userController.register_post)

这是控制器部分 (controllers/user_controller.js):

    //Register get
exports.register_page = (req,res)=>{
    return res.render('user/register',{layout:false})
}
//Register post 
exports.register_post =  async (req,res)=>{
    //bla bla
    }

我可以看到页面,但是当我在 ejs 页面中提交时没有任何反应。这是查看页面(views/user/register.ejs):

    <form id="register" method="post" action="/user/register">    
    <label><b>Email     
    </b>    
    </label>    
    <input type="text" name="email" id="email" placeholder="Email">    
    <br><br>    
    <label><b>Password     
    </b>    
    </label>    
    <input type="Password" name="password" id="password" placeholder="Password">    
    <br><br>
    <label><b>Confirm Password     
    </b>    
    </label>    
    <input type="Password" name="confirm" id="confirm" placeholder="Password Repeat">    
    <br><br>      
    <input type="button" name="submit" id="submit" value="Register">
</form> 

您的表单没有发送post请求,因为提交按钮没有提交type。从 type="button" 更改为 type="submit"