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

最新文章

  1. How Garbage Collection Really Works
  2. android 调用系统的音乐和视频播放器
  3. 物联网安全拔“牙”实战——低功耗蓝牙(BLE)初探
  4. saltstack之(四)远程执行及常用模块
  5. VC++2005下的ADO SQL语句(like,count,distinct)和操作(转)
  6. ES6入门之set和map
  7. 【Shell脚本学习4】几种常见的Shell
  8. 用C语言实现统计一个文件夹中各种文件的比例
  9. jquery 提示插件 cluetip
  10. Delphi通过ICMP检测与远程主机连接
  11. Qt开始学习的一些问题
  12. jap页面获取struts2中action中变量的值
  13. 【IDE】IntelliJ IDEA (Mac) 运行速度优化(问题起因:debug模式突然变得巨慢)
  14. Java 连接 MySQL 数据库
  15. Linux--Introduction and Basic commands(Part one)
  16. weblogic安装错误记录
  17. linux服务器架设--学习笔记
  18. Libgdx学习记录28——创建Desktop程序
  19. 认识Python&基础环境搭建
  20. luogu 1006 传纸条

热门文章

  1. Ionic开发-如何在ion-content形成上下结构 上面固定下层可滚动
  2. pre-network android 网络优化预加载框架
  3. [实用技巧] Mac下面如何通过终端快速打开当前文件夹
  4. QWidget标题栏双击事件
  5. XCode调试器LLDB
  6. Python 风格规范
  7. (三)docker 的启动,重启,关闭命令
  8. docker 应用数据的管理
  9. nvm、npm、nodejs的关系(转载)
  10. struct获取不到值的小错误