python flask框架实现传数据到js的方法分析


Posted in Python onJune 11, 2019

本文实例讲述了python flask框架实现传数据到js的方法。分享给大家供大家参考,具体如下:

首先要清楚后台和前端交互所采用的数据格式。

一般选JSON,因为和js完美贴合。

后台返回的数据进行序列化

/homepageRecommend 路由的 view方法中返回序列化数据

dict = {"a":1, "b":2}<br data-filtered="filtered">
import json
json.dumps(dict)

2)

from flask import jsonify
jsonify(dict) #在调用jsonfiy 有时会报错,原因是jsonify 对象必须是dict

这两种序列化方式主要的区别是 jsonify 格式更美观一些

在前端利用jquary 对json进行反序列化

$.getJSON('/homepageRecommend'
    , function(data) {          // 从Flask返回的数据
      alert(data.a)           // 浏览器弹窗显示 后端返回的dict["a"]的值,此次是1
  }
)
//getJSON 函数有三个参数
//第一个是后端返回的数据的url
//第二个是要返回给服务器的data 是可选的
//第三个是对获取的反序列化数据 要继续进行的操作的函数

前端通过.get()或者.get()或者.post()方法发送请求,后端利用json.dumps(dict)返回json数据,在js中利用eval()方法,把json数据转换为js对象,后再做其他处理

$.post("{{ url_for('statistics.HomeRecommend') }}",{"id":a},function(reco_list){
 var reco_list = eval(reco_list)
//do others
})

最近在使用icharts画图的 过程中发现了另外一种传数据的方式,view中使用

return render_template('statistics/numberofuserlogin/login_number.html', result_json = json.dumps(result))

js中直接用 js_object = eval('{{result_json|safe }}') 注意 一定要加|safe 过滤否则会对字符串进行转义导致解析错误 使用这种方式传数据,能够在渲染模板的同时传数据,避免定义新的url拿数据

总结: flask 后台给前端js传数据, 需要注意序列化 和反序列化

更多资料参考 https://3water.com/article/162815.htm

希望本文所述对大家基于Flask框架的Python程序设计有所帮助。

Python 相关文章推荐
用Python编程实现语音控制电脑
Apr 01 Python
python模拟enum枚举类型的方法小结
Apr 30 Python
Python闭包实现计数器的方法
May 05 Python
Python多线程中阻塞(join)与锁(Lock)使用误区解析
Apr 27 Python
浅谈Python2、Python3相对路径、绝对路径导入方法
Jun 22 Python
Django框架多表查询实例分析
Jul 04 Python
使用PM2+nginx部署python项目的方法示例
Nov 07 Python
Python values()与itervalues()的用法详解
Nov 27 Python
从0到1使用python开发一个半自动答题小程序的实现
May 12 Python
Python实现Keras搭建神经网络训练分类模型教程
Jun 12 Python
python线程优先级队列知识点总结
Feb 28 Python
Python爬虫之爬取最新更新的小说网站
May 06 Python
python 求一个列表中所有元素的乘积实例
Jun 11 #Python
python ChainMap的使用和说明详解
Jun 11 #Python
python 计算一个字符串中所有数字的和实例
Jun 11 #Python
python 实现返回一个列表中出现次数最多的元素方法
Jun 11 #Python
python ChainMap 合并字典的实现步骤
Jun 11 #Python
itchat-python搭建微信机器人(附示例)
Jun 11 #Python
python itchat实现调用微信接口的第三方模块方法
Jun 11 #Python
You might like
改造一台复古桌面收音机
2021/03/02 无线电
php使用str_replace替换多维数组的实现方法分析
2017/06/15 PHP
PHP面向对象中new self()与 new static()的区别浅析
2017/08/17 PHP
使用composer 安装 laravel框架的方法图文详解
2019/08/02 PHP
js简单的点击返回顶部效果实现方法
2015/04/10 Javascript
JS打印组合功能
2016/08/04 Javascript
JS判断是否为JSON对象及是否存在某字段的方法(推荐)
2016/11/29 Javascript
react.js 翻页插件实例代码
2017/01/19 Javascript
使用contextMenu插件实现Bootstrap table弹出右键菜单
2017/02/20 Javascript
jQuery插件FusionCharts绘制2D环饼图效果示例【附demo源码】
2017/04/10 jQuery
JS仿淘宝搜索框用户输入事件的实现
2017/06/19 Javascript
Angular移动端页面input无法输入的解决方法
2017/11/14 Javascript
Vue实现搜索 和新闻列表功能简单范例
2018/03/16 Javascript
vue项目部署到Apache服务器中遇到的问题解决
2018/08/24 Javascript
JS轮播图的实现方法2
2020/08/25 Javascript
[48:53]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第一场
2014/05/26 DOTA
[42:24]完美世界DOTA2联赛循环赛 LBZS vs DM BO2第一场 11.01
2020/11/02 DOTA
Python 专题三 字符串的基础知识
2017/03/19 Python
python组合无重复三位数的实例
2018/11/13 Python
Python第三方Window模块文件的几种安装方法
2018/11/22 Python
python3.6使用urllib完成下载的实例
2018/12/19 Python
pandas去重复行并分类汇总的实现方法
2019/01/29 Python
远程部署工具Fabric详解(支持Python3)
2019/07/04 Python
在notepad++中实现直接运行python代码
2019/12/18 Python
Python3与fastdfs分布式文件系统如何实现交互
2020/06/23 Python
python 使用多线程创建一个Buffer缓存器的实现思路
2020/07/02 Python
Python批量删除mysql中千万级大量数据的脚本分享
2020/12/03 Python
使用before和:after伪类制作css3圆形按钮
2014/04/08 HTML / CSS
ASICS印度官方网站:日本专业运动品牌
2020/06/20 全球购物
高考自主招生自荐信
2013/10/20 职场文书
公司部门司机岗位职责
2014/01/03 职场文书
初中生思想道德自我评价
2015/03/09 职场文书
会议通知范文
2015/04/15 职场文书
乡镇保密工作承诺书
2015/05/04 职场文书
Python import模块的缓存问题解决方案
2021/06/02 Python
SpringBoot2零基础到精通之数据库专项精讲
2022/03/22 Java/Android