Flask处理前端POST过来的JSON数据
2024-09-03 22:41:34
POST JSON数据的JS代码:
$.ajax({
url:'http://127.0.0.1:5000/calc',
type : 'post',
dataType:'json',
headers: {
"Content-Type": "application/json;charset=utf-8"
},
contentType:'application/json; charset=utf-8',
data:JSON.stringify({D:D,q:q,ls:ls,Lz:Lz,l:l,Uz:Uz,u:u,y:y,P:P,h1:h1,data_list:data_lists}),
success:function(data){
$("#finally").show();
}
})
对于前端POST请求发送过来的json数据,Flask后台可使用 request.get_data() 来接收数据,数据的格式为 bytes;加上as_text=True 参数后就变成 Unicode 了; 再使用 json.loads() 方法就可以转换字典。
示例代码:
from flask import Flask, render_template, request, make_response
import json
import light_calc app = Flask(__name__)
app.debug = True @app.route('/', methods=['POST', 'GET'])
def main():
return render_template('test_inputs.html') @app.route('/calc', methods=['POST'])
def calc():
data_list = []
data = json.loads(request.get_data(as_text=True)) # request.get_data(as_text=True) : 获取前端POST请求传过来的 json 数据
for key, value in data.items():
if value == '':
data[key] = 0
for key, value in data.items():
if type(value) == str and value != 'i':
data[key] = float(value) for i in data['data_list']:
new_dict = {}
new_dict['r'] = float(i['r'])
new_dict['d'] = float(i['d'])
new_dict['n'] = float(i['n'])
new_dict['n_2'] = float(i['n_2'])
data_list.append(new_dict)
print(data)
print(data_list)
try:
result = light_calc.main(data['D'], data['q'], data['ls'], data['Lz'], data['Uz'], data['l'], data['u'], data['y'],
data['P'], data['h1'], data_list)
resp = make_response(result)
resp.headers['Content-Type'] = 'text/json'
return result
except Exception as e:
print(e)
return '{"status":"500"}' if __name__ == '__main__':
app.run()
参考链接:https://blog.csdn.net/qq_29113041/article/details/80392597
最新文章
- How Garbage Collection Really Works
- android 调用系统的音乐和视频播放器
- 物联网安全拔“牙”实战——低功耗蓝牙(BLE)初探
- saltstack之(四)远程执行及常用模块
- VC++2005下的ADO SQL语句(like,count,distinct)和操作(转)
- ES6入门之set和map
- 【Shell脚本学习4】几种常见的Shell
- 用C语言实现统计一个文件夹中各种文件的比例
- jquery 提示插件 cluetip
- Delphi通过ICMP检测与远程主机连接
- Qt开始学习的一些问题
- jap页面获取struts2中action中变量的值
- 【IDE】IntelliJ IDEA (Mac) 运行速度优化(问题起因:debug模式突然变得巨慢)
- Java 连接 MySQL 数据库
- Linux--Introduction and Basic commands(Part one)
- weblogic安装错误记录
- linux服务器架设--学习笔记
- Libgdx学习记录28——创建Desktop程序
- 认识Python&;基础环境搭建
- luogu 1006 传纸条