使用express框架实现登录和注册功能 get : login -> 渲染登录表单页面 get : register -> 渲染注册表单页面 get : dologin -> 接收表单传递过来的用户名和密码 判断是否登录成功 get : doregister -> 接收表单传递过来的用户名和密码 判断persons.json中有无此用户,如果有返回 已注册。如果没有则注册成功,
时间: 2023-06-16 08:03:41 浏览: 57
首先,需要安装express框架和body-parser中间件。可以使用以下命令进行安装:
```
npm install express body-parser --save
```
接下来,创建一个名为app.js的文件,编写如下代码:
```javascript
const express = require('express');
const bodyParser = require('body-parser');
const fs = require('fs');
const app = express();
// 解析 application/x-www-form-urlencoded 格式的请求体
app.use(bodyParser.urlencoded({ extended: false }));
// 渲染登录表单页面
app.get('/login', (req, res) => {
res.send(`
<form method="POST" action="/dologin">
<label>Username:</label>
<input type="text" name="username">
<br>
<label>Password:</label>
<input type="password" name="password">
<br>
<button type="submit">Login</button>
</form>
`);
});
// 渲染注册表单页面
app.get('/register', (req, res) => {
res.send(`
<form method="POST" action="/doregister">
<label>Username:</label>
<input type="text" name="username">
<br>
<label>Password:</label>
<input type="password" name="password">
<br>
<button type="submit">Register</button>
</form>
`);
});
// 处理登录请求
app.get('/dologin', (req, res) => {
const { username, password } = req.body;
// 读取persons.json文件
const personsData = fs.readFileSync('persons.json', 'utf8');
const persons = JSON.parse(personsData);
// 判断用户名和密码是否正确
if (persons[username] && persons[username].password === password) {
res.send('Login successful');
} else {
res.send('Login failed');
}
});
// 处理注册请求
app.get('/doregister', (req, res) => {
const { username, password } = req.body;
// 读取persons.json文件
const personsData = fs.readFileSync('persons.json', 'utf8');
const persons = JSON.parse(personsData);
// 判断用户名是否已经存在
if (persons[username]) {
res.send('Already registered');
} else {
// 添加新用户
persons[username] = { password };
// 写入persons.json文件
fs.writeFileSync('persons.json', JSON.stringify(persons));
res.send('Register successful');
}
});
app.listen(3000, () => {
console.log('Server is running at http://localhost:3000');
});
```
以上代码实现了登录和注册功能。其中,用到了fs模块读写JSON文件,需要确保项目根目录下有一个名为persons.json的JSON文件,内容格式如下:
```json
{
"admin": {
"password": "admin123"
}
}
```
在终端中执行以下命令启动应用:
```
node app.js
```
然后在浏览器中访问http://localhost:3000,即可打开登录和注册页面。