带有ExpressJS的GET方法表单-多个app.get

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了带有ExpressJS的GET方法表单-多个app.get相关的知识,希望对你有一定的参考价值。

我想做一个简单的登录表格。

这是相关代码:

app.get('/login' , (req,res)=>{
    app.use(express.static('login'));
    res.render(__dirname + '/login/index.ejs');

/*This is load the login page*/
});

index.ejs:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>login</title>
</head>
<body>
    <h1>Login</h1>
    <form action="/" method="GET">
        <input type="text" name="email" placeholder="email">
        <input type="password" name="password" placeholder="password">

        <input type="submit" value="login">
    </form>
</body>
</html>

您可以看到表单是GET方法,因为我没有创建/更新任何内容。如果我使用app.post来检测参数,那么我已经使用过app.post,并且工作正常。

但是我如何处理两个app.get?一个用于加载页面,第二个用于处理html表单?

例如:

app.get('/login' , (req,res)=>{    
    console.log(req.query);
}

谢谢!

答案

我建议您不要将GET方法用于网站的登录和显示,而应将表单方法设为POST而不是GET。然后在您的express应用中使用multer作为解析收到的表格数据的一种方法。

以上是关于带有ExpressJS的GET方法表单-多个app.get的主要内容,如果未能解决你的问题,请参考以下文章

在expressJS中如何创建一个缓存,使多个请求等待相同的promise [重复]

ExpressJS - 带有路由分离的 Socket.IO

expressjs:当不调用响应方法时,哪些选项将挂起请求

使用 node-mysql 和 ExpressJS 在一个请求中执行两个或多个查询

具有不同参数的多个路由,调用相同的资源

在 expressjs 中提供带有响应对象的 HTML 文件时,如何包含外部 JavaScript 文件?