在登陆界面中完成对Accout类的查询和删除的网页端和 服务器端操作的代码怎么写
时间: 2023-08-31 18:41:39 浏览: 111
### 回答1:
网页端代码:
查询操作:
```html
<!-- 登录页面 -->
<form action="/query_account" method="post">
<label for="username">用户名:</label>
<input type="text" id="username" name="username"><br><br>
<button type="submit">查询</button>
</form>
<!-- 查询结果页面 -->
<div>
<p>查询结果:</p>
<p>用户名: {{ username }}</p>
<p>密码: {{ password }}</p>
</div>
```
删除操作:
```html
<!-- 登录页面 -->
<form action="/delete_account" method="post">
<label for="username">用户名:</label>
<input type="text" id="username" name="username"><br><br>
<button type="submit">删除</button>
</form>
<!-- 删除结果页面 -->
<div>
<p>删除结果:</p>
<p>{{ message }}</p>
</div>
```
服务器端代码:
```python
from flask import Flask, render_template, request
app = Flask(__name__)
class Account:
def __init__(self, username, password):
self.username = username
self.password = password
accounts = [
Account("user1", "password1"),
Account("user2", "password2"),
Account("user3", "password3")
]
@app.route("/")
def index():
return render_template("index.html")
@app.route("/query_account", methods=["POST"])
def query_account():
username = request.form["username"]
for account in accounts:
if account.username == username:
return render_template("query_result.html", username=username, password=account.password)
return render_template("query_result.html", username=username, password="账号不存在")
@app.route("/delete_account", methods=["POST"])
def delete_account():
username = request.form["username"]
for account in accounts:
if account.username == username:
accounts.remove(account)
return render_template("delete_result.html", message="删除成功")
return render_template("delete_result.html", message="账号不存在")
if __name__ == "__main__":
app.run()
```
注意:以上代码只是示例代码,实际代码需要根据具体需求进行修改。
### 回答2:
要完成对Account类的查询和删除的网页端和服务器端操作,首先需要在服务器端搭建一个后端程序,使用类似于Node.js、Java Spring、Python Django等后端框架来处理请求和操作数据库。
服务器端代码示例(使用Node.js和Express框架):
```javascript
const express = require('express');
const app = express();
// 处理POST请求中的JSON数据
app.use(express.json());
// 模拟一个Account类的数据库
let accounts = [
{ id: 1, username: 'user1', password: 'password1' },
{ id: 2, username: 'user2', password: 'password2' },
];
// 查询账户
app.get('/account/:id', (req, res) => {
const accountId = parseInt(req.params.id);
const account = accounts.find(acc => acc.id === accountId);
if (account) {
res.status(200).json(account);
} else {
res.status(404).json({ error: 'Account not found' });
}
});
// 删除账户
app.delete('/account/:id', (req, res) => {
const accountId = parseInt(req.params.id);
const index = accounts.findIndex(acc => acc.id === accountId);
if (index !== -1) {
accounts.splice(index, 1);
res.sendStatus(204);
} else {
res.status(404).json({ error: 'Account not found' });
}
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
```
在网页端,可以使用fetch函数或者其他Ajax库来发送HTTP请求到服务器端。以下是查询和删除账户的网页端代码示例:
```javascript
// 查询账户
fetch('/account/1')
.then(response => response.json())
.then(data => {
console.log(data);
})
.catch(error => {
console.error(error);
});
// 删除账户
fetch('/account/1', {
method: 'DELETE'
})
.then(response => {
if (response.status === 204) {
console.log('Account deleted successfully');
} else {
throw new Error('Failed to delete account');
}
})
.catch(error => {
console.error(error);
});
```
以上代码仅为示例,实际使用时需要根据具体的后端框架和前端技术进行适应和修改。同时,为了安全性考虑,应该对账户的查询和删除操作增加认证和授权机制。
阅读全文