Flask 解析 Web 端 請求 數組
阿新 • • 發佈:2017-08-23
增加 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 端 請求 數組