gpt4 book ai didi

flask - 在 flask 中处理 Ajax 请求

转载 作者:行者123 更新时间:2023-12-04 14:41:27 24 4
gpt4 key购买 nike

我一直在学习 flask 。我还在其中创建了两个项目。这是我的第三个项目。我总是被困在这一点上。我想让服务器端代码在页面上发生事件时运行,比如单击按钮。
In the linked image.我希望在单击“删除”按钮时删除条目。我已经在 mysql 服务器上保存了数据,所以我也希望从那里删除它
这是我所做的。我创建了一条路线 /delete_student它处理删除学生。
但问题是它总是重新加载页面,并且它切换到不同的 url。我不希望它们中的任何一个发生。我该怎么办?我应该使用 Ajax,如果是,请告诉我,如何使用?
HTML

{% for i in data %}
<tr>
<td>{{i['roll_no']}}</td>
<td>{{i['name']}}</td>
<td>{{i['username']}}</td>
<td>{{i['password']}}</td>
<td><a href="#">Edit</a></td>
<td><a href="{{url_for('delete_student')}}">Delete</a></td>
</tr>
{% endfor %}
flask
@app.route('/delete_student')
@is_logged_in
def delete_student():
if session['username']=='nitti':
cur = mysql.connection.cursor()
#pop the row from the table?
#how to identify the row being deleted?
return render_template(url_for('student_summary'))

最佳答案

您应该使用 javascript 访问路线。
使用 jQuery 结帐 AJAX:
http://flask.pocoo.org/docs/0.12/patterns/jquery/
例如,如果您有一个显示“删除学生”的按钮:

@app.route("/_delete_student")
def delete_student():
student_id = request.form.get("student_id")
cur = mysql.connection.cursor()
cur.execute("DELETE FROM students WHERE student_id = %s", (student_id,)
conn.commit()
return jsonify(status="success")
JavaScript:
$("#delete_student").click(function(){
$.ajax({
type: 'POST',
url: "/_delete_student",
data: {student_id: 1},
dataType: "text",
success: function(data){
alert("Deleted Student ID "+ student_id.toString());
}
});
});

关于flask - 在 flask 中处理 Ajax 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48595068/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com