flask:ajax请求和flask接收请求处理方法

1 GET

get请求,flask:user_name = request.args.get('user_name')

 

2 POST 携带一般数据data

<script>
     $(document).ready(function() {
      $("#demo").click(function(e) {
        e.preventDefault();
        consumer_name = $("#name").val();
        console.log(consumer_token);

        $.ajax({
          url : "http://47.92.117.7/demo",
          type : "POST",
          data : {"consumer_name":consumer_name},
          success : function(result) {
              console.log(result);
              if (result)
              {
                  console.log("success")

              }else {
                  $("#error").attr("value", result['error']);
              }


          },
          error:function(msg){
            console.log("error:",msg)
          }
        })
        return false;
      })
    });

</script>
@bp.route("/demo", methods=['POST'])
def demo():
    if request.method == 'POST':
        consumer_name = request.values.get("consumer_name")
        if consumer_name:
            return redirect('showdemo')

3 POST 携带json数据

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" href="/static/frontend/css/base.css" type="text/css" />
    <script type="text/javascript" src="/static/frontend/js/jquery-1.7.1.min.js"></script>
</head>
<script>
     $(document).ready(function() {
      $("#send").click(function(e) {
        e.preventDefault();
        var obj = $(this);
        var phone_num = $("input[name='num']").val();
        console.log(phone_num);

        $.ajax({
          url : "http://47.92.117.7/phone_code",
          type : "POST",
          contentType: "application/json;charset=utf-8",
          data : JSON.stringify({'phone_num':phone_num}),
          success : function(result) {
              console.log(result);
              if (result['code'])
              {
                  console.log(result['code']);
                  $("input[name='code']").attr("value",result['code']);
                  $("input[name='phone_num']").attr("value",result['phone_num']);
              }else {
                  $("#error").attr("value", result['error']);
              }
          },
          error:function(msg){
            console.log("error:",msg)
          }
        })
        return false;
      })
    });

</script>
data = request.get_data()
json_data = json.loads(data)
print(json_data)
phone_num = json_data.get("phone_num")

 

4 POST  传cookie, 如果token在headers里面

<script>
     $(document).ready(function() {
      $("#demo").click(function(e) {
        e.preventDefault();
        var consumer_token = $("#token").val();
        var auth = "'Bearer"+" "+consumer_token;

        console.log(auth);

        $.ajax({
          url : "http://47.92.117.7/demo",
          type : "POST",
          data : {"consumer_token":consumer_token},
          headers: {
            'Authorization': auth
          },
          success : function(result) {
              console.log(result);
              if (result)
              {
                  console.log("success")

              }else {
                  $("#error").attr("value", result['error']);
              }
          },
          error:function(msg){
            console.log("error:",msg)
          }
        })
        return false;
      })
    });

</script>
consumer_token = request.headers.get("Authorization")

http://plugins.jquery.com/cookie/

此外:

request.form.to_dict() 
request.get_json()
request.form.get()

 

posted @ 2018-05-26 17:34  Adamanter  阅读(5853)  评论(0编辑  收藏  举报