zoukankan      html  css  js  c++  java
  • Flask 解析 Web 端 请求 数组

    Web前台由 JavaScript 通过Ajax发送POST请求,当请求数据为数组时,Python Flask 做服务器时的解析如下:

    js:

     1                 var ids = [];
     2                 for (var i = 0; i < row.length; i++) {
     3                     ids.push(row[i].id);
     4                 }
     5                 console.log('del:' + ids);
     6                 $.ajax({
     7                     method: 'POST',
     8                     url: '/dance_del_data',
     9                     dataType: 'json',
    10                     data: {'ids': ids, 'who': datagridId},
    11                     success: function (data) {
    12                         $(dg).datagrid('reload');
    13                         console.log('success in ajax.')
    14                     },
    15                     error: function () {
    16                         console.log('error in ajax.');
    17                     }
    18 });

    Flask:

     1 @app.route('/dance_del_data', methods=['POST'])
     2 def dance_del_data():
     3     # if request.has_key('ids'):
     4     who = request.form['who']
     5     ids = request.form.getlist('ids[]')
     6     for i in ids:
     7         db.session.delete(DanceStudent.query.get(i))
     8     
    9 db.session.commit()
    10 11 return jsonify({"msg": "ok for del"})
    
    

    总结:

    非数组数据,直接使用 request.form['key'] 获取数据。但是当前台发送的是数组时,需要使用getlist函数和对key加[]来解析,及:request.form.getlist('key[]')

     至于为什么要增加 [] ,我还没找到原因,有知道的朋友,请告知。

  • 相关阅读:
    Java中测试对象的等价性
    Python文件方法
    Python在windows下的安装与配置
    ubuntu日志清理
    hiho48 : 欧拉路·一
    ADO.NET异步操作测试
    c# 生成二维码
    PowerCmd 2.2 注册码
    IE跨Iframe时Session丢失问题
    MongoDB3.0 创建用户
  • 原文地址:https://www.cnblogs.com/anningwang/p/7413909.html
Copyright © 2011-2022 走看看