flask表单提交不刷新
时间: 2023-08-15 19:08:29 浏览: 52
您可以使用Ajax来实现在不刷新页面的情况下提交表单数据。具体步骤如下:
1. 在HTML表单中添加一个id属性,例如`id="myForm"`。
2. 使用JavaScript编写一个处理表单提交的函数,例如:
```javascript
function submitForm() {
var form = document.getElementById("myForm");
var formData = new FormData(form);
// 发送Ajax请求
var xhr = new XMLHttpRequest();
xhr.open("POST", "/submit", true);
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
// 请求成功处理逻辑
console.log(xhr.responseText);
}
};
xhr.send(formData);
}
```
3. 在Flask应用程序中创建一个路由,用于处理表单提交的请求,例如:
```python
from flask import Flask, request, jsonify
app = Flask(__name__)
@app.route('/submit', methods=['POST'])
def handle_form_submit():
# 处理表单数据
data = request.form
# 执行其他逻辑操作
return jsonify({'message': 'Form submitted successfully!'})
if __name__ == '__main__':
app.run()
```
通过以上步骤,您可以在不刷新页面的情况下使用Ajax来提交表单数据,并在Flask应用程序中进行相应的处理。