前端表单怎么发送请求给flask后端修改session数据,请给出模板
时间: 2024-06-12 19:06:12 浏览: 112
以下是一个示例模板,可以在前端使用JavaScript发送POST请求来修改Flask后端的会话数据:
```html
<!DOCTYPE html>
<html>
<head>
<title>修改Flask会话数据</title>
</head>
<body>
<h1>修改Flask会话数据</h1>
<form id="session-form">
<label for="username">用户名:</label>
<input type="text" id="username" name="username"><br><br>
<label for="email">邮箱:</label>
<input type="email" id="email" name="email"><br><br>
<button type="submit">更新信息</button>
</form>
<script>
// 获取表单元素和提交按钮
const form = document.getElementById('session-form');
const submitBtn = form.querySelector('button[type="submit"]');
// 监听表单提交事件
form.addEventListener('submit', (event) => {
event.preventDefault(); // 阻止表单默认提交行为
// 获取表单数据
const formData = new FormData(form);
// 发送POST请求
fetch('/update_session', {
method: 'POST',
body: formData
})
.then(response => response.text())
.then(data => {
console.log(data); // 可以在控制台打印返回的数据
})
.catch(error => {
console.error(error);
});
});
</script>
</body>
</html>
```
在Flask后端,我们需要定义一个路由来处理POST请求:
```python
from flask import Flask, request, session
app = Flask(__name__)
app.secret_key = 'your_secret_key'
@app.route('/update_session', methods=['POST'])
def update_session():
username = request.form['username']
email = request.form['email']
# 修改session数据
session['username'] = username
session['email'] = email
return 'Session updated successfully!'
```
这样,当用户提交表单时,前端会发送POST请求到`/update_session`路由,Flask后端会根据请求的数据来修改会话数据。
阅读全文