在flask中处理Ajax请求

在flask中处理Ajax请求,flask,flask-sqlalchemy,Flask,Flask Sqlalchemy,我一直在学习。我还在其中创建了两个项目。这是我的第三个项目。我总是在这一点上纠结不清。我想让服务器端代码在页面上发生事件时运行,比如说,单击一个按钮 我希望在单击“删除”按钮时删除条目。我把数据保存在mysql服务器上,所以我希望它也从那里删除 这就是我所做的。我创建了一个路由/delete\u student,它负责删除学生。 但问题是它总是重新加载页面,而且它会切换到不同的url。我不希望他们中的任何一个发生。我该怎么办?我应该使用Ajax吗?如果是,请告诉我,如何使用 HTML {% fo

我一直在学习。我还在其中创建了两个项目。这是我的第三个项目。我总是在这一点上纠结不清。我想让服务器端代码在页面上发生事件时运行,比如说,单击一个按钮

我希望在单击“删除”按钮时删除条目。我把数据保存在mysql服务器上,所以我希望它也从那里删除

这就是我所做的。我创建了一个路由
/delete\u 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 %}

您应该使用javascript访问路由

使用jQuery签出AJAX:

例如,如果您有一个显示“删除学生”的按钮:

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());
               }
    });
});

@SujeetAgrahari如果你对此感到满意,你能接受答案吗?谢谢!:)返回“无”时出错,原因是我正在发送POST请求,在这种情况下,
request.args
将是一个空对象。
@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")
$("#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());
               }
    });
});