Arp*_*dey 0 forms node.js express
我没有得到输出,这基本上是一个简单的登录表单,当我在表单中提交电子邮件 ID 和密码时收到错误。
const express = require('express');
const path = require('path');
const bodyparser = require("body-parser");
const session = require('express-session');
const {v4:uuidv4} = require('uuid');
const router = require('./router');
const app = express();
const port = process.env.PORT||3000;
app.use(bodyparser.urlencoded({extends: true}));
app.use(bodyparser.json());
app.set('view engine','ejs');
//load static assets
app.use('/static', express.static(path.join(__dirname,'public')))
app.use('/static', express.static(path.join(__dirname, 'public/assets')))
app.use(session({
secret:'uuidv4()',
resave:false,
saveUninitialized:true
}))
app.use('/route', router);
//home route
app.get('/',(req,res)=>{
res.render('base',{title:'Login System'});
})
app.listen(port, ()=>{console.log('Server started at port 3000')});
Run Code Online (Sandbox Code Playgroud)
在浏览器中:
类型错误:无法读取未定义的属性“电子邮件”
在命令终端中:
body-parser 已弃用未定义扩展:提供扩展选项 server.js 服务器在端口 3000 启动
路由器代码:
const e = require('express');
var express = require('express');
var router = express.Router();
const credentials = {
email:'admin@gmail.com',
password:'admin123'
}
router.post('/login', (res, req)=>{
if(req.body.email == credentials.email && req.body.password == credentials.password)
{
req.session.user=req.body.email;
//res.redirect('/dashboard');
res.end('Login sucessful!');
}
else
{
res.end('Invalid username or password');
}
})
module.exports=router;
Run Code Online (Sandbox Code Playgroud)
这是我使用的表单代码:
<%-include('header')-%>
<div class="text-center center-div" id="login">
<div class="container w-25 border py-5">
<div class="title">
<h2 class="font-weight-bold">Login System</h2>
<span>Login for existing users</span><br><br><br>
</div>
<form action="/route/login" method="POST" class="pt-3">
<div class="frm-group">
<input
type="email"
class="form-control"
placeholder="email"
name="email"
/>
<small class="form-text text-muted"
>Register email address</small
>
</div>
<br>
<div class="form-group">
<input
type="password"
class="form-control"
name="password"
placeholder="password"
/>
</div>
<br>
<button type="submit" class="btn btn-success rounded-pill">Submit</button>
</form>
</div>
</div>
<%-include('footer')-%>
Run Code Online (Sandbox Code Playgroud)
要解决未定义的问题,请替换extends为extended并消除弃用警告app.use(express.json());,正如您在express github第15行和第78行app.use(express.urlencoded({ extended: true }));
中看到的那样,body-parser是express的一部分
| 归档时间: |
|
| 查看次数: |
1486 次 |
| 最近记录: |