Flask(python web) 处理表单和Ajax请求

版权声明: https://blog.csdn.net/ITlanyue/article/details/81945421

1.处理表单(form)

首先,编一个简单的html登录页面(名字为login.html(根路由jinjia2模板指定)):

<html>
<head>
      <meta charset="UTF_8">
      <meat lang="zh">
</head>
<body>
<form method="post" action="{{ url_for('login') }}">         //url_for函数指定提交后交给 login路由 处理
    <input type="username" id="username">
    <input type="password" id="password">
    <input type="submit" >登录</input>
</form>
</body>
</html>

2.因为是用的python web的flask,所以需要修改一下app.py文件

from flask import Flask, render_template

@app.route('/')
def index():
    return render_template('login.html')        //执行程序后,输入127.0.0.1:5000/  访问的是login.html文件
                                                //即上文写的登录文件

@app.route('/login/', endpoint='login', methods=['POST','GET'])    //此处就是上文提到的login路由
def login():
    response = jsonify({'ret': True, 'msg': '登录成功!'})
    response.status_code = 200

    return  response

2.处理Ajax请求

 html中的ajax请求代码:

$.ajax({
    url: "{{ url_for('login') }}",
    type: "post",
    async: true,
    data: JSON.stringify({'username': 'admin', 'password': 'admin'}),
    processData: false,
    contentType: "application/json",
    dataType: "json",
    success: function (data) {
        alert('登录成功!');
    },
    error: function (jqXHR, textStatus, errorThrown) {
        alert('登录失败!');
    }
});

flask 后台处理代码:

@app.route('/login/', endpoint='login', methods=['POST','GET'])    //此处就是上文提到的login路由
def login():
    response = jsonify({'ret': True, 'msg': '登录成功!'})
    response.status_code = 200

    return  response

猜你喜欢

转载自blog.csdn.net/ITlanyue/article/details/81945421