【问题标题】:Post request from ejs view is not working来自 ejs 视图的发布请求不起作用
【发布时间】:2022-01-14 12:12:19
【问题描述】:

我正在尝试将用户注册到我的数据库,但我什至无法使我的发布请求工作。 get 部分路由器正在工作,但似乎 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> 

【问题讨论】:

    标签: node.js ejs


    【解决方案1】:

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

    【讨论】:

    • 是的,谢谢
    猜你喜欢
    • 2017-07-07
    • 2022-10-09
    • 2020-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-13
    • 2019-01-27
    相关资源
    最近更新 更多