1. 程式人生 > >Flask 解析 Web 端 請求 數組

Flask 解析 Web 端 請求 數組

增加 route .cn pos 使用 asc java tag key

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 db.session.commit() 9 10 return "ok for del"

技術分享

總結:

非數組數據,直接使用 request.form[‘key‘] 獲取數據。但是當前臺發送的是數組時,需要使用getlist函數和對key加[]來解析,及:request.form.getlist(‘key[]‘)

至於為什麽要增加 [] ,我還沒找到原因,有知道的朋友,請告知。

Flask 解析 Web 端 請求 數組