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写的贪吃蛇游戏例子
Jun 16 Python
Python函数中定义参数的四种方式
Nov 30 Python
对于Python的框架中一些会话程序的管理
Apr 20 Python
Python实现matplotlib显示中文的方法详解
Feb 06 Python
一看就懂得Python的math模块
Oct 21 Python
检测python爬虫时是否代理ip伪装成功的方法
Jul 12 Python
python 调试冷知识(小结)
Nov 11 Python
Tensorflow获取张量Tensor的具体维数实例
Jan 19 Python
jupyter notebook 重装教程
Apr 16 Python
Python调用REST API接口的几种方式汇总
Oct 19 Python
python温度转换华氏温度实现代码
Dec 06 Python
pandas实现导出数据的四种方式
Dec 13 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
用PHP+java实现自动新闻滚动窗口
2006/10/09 PHP
java script编程起步(第三课)
2007/01/10 Javascript
Dom与浏览器兼容性说明
2010/10/25 Javascript
javascript自定义的addClass()方法
2014/05/28 Javascript
高性能JavaScript模板引擎实现原理详解
2015/02/05 Javascript
AngularJS学习笔记之TodoMVC的分析
2015/02/22 Javascript
jQuery操作JSON的CRUD用法实例
2015/02/25 Javascript
JQuery替换DOM节点的方法
2015/06/11 Javascript
jQuery取得iframe中元素的常用方法详解
2016/01/14 Javascript
Javascript中获取浏览器类型和操作系统版本等客户端信息常用代码
2016/06/28 Javascript
JS中对数组元素进行增删改移的方法总结
2016/12/15 Javascript
jQuery拖拽通过八个点改变div大小
2020/11/29 Javascript
微信小程序--组件(swiper)详细介绍
2017/06/13 Javascript
详解Nodejs内存治理
2018/05/13 NodeJs
基于vue实现移动端圆形旋钮插件效果
2018/11/28 Javascript
Vue.Draggable拖拽功能的配置使用方法
2020/07/29 Javascript
说说如何利用 Node.js 代理解决跨域问题
2019/04/22 Javascript
Express结合Webpack的全栈自动刷新
2019/05/23 Javascript
React实现todolist功能
2020/12/28 Javascript
[02:53]DOTA2亚洲邀请赛 NewBee战队巡礼
2015/02/03 DOTA
Python实现发送QQ邮件的封装
2017/07/14 Python
Python实现pdf文档转txt的方法示例
2018/01/19 Python
Python图像处理实现两幅图像合成一幅图像的方法【测试可用】
2019/01/04 Python
tensor和numpy的互相转换的实现示例
2019/08/02 Python
python绘制随机网络图形示例
2019/11/21 Python
Python利用FFT进行简单滤波的实现
2020/02/26 Python
Python实现密钥密码(加解密)实例详解
2020/04/26 Python
菲律宾购物网站:Lazada菲律宾
2018/04/05 全球购物
俄罗斯有趣和原创礼物网上商店:MagicMag
2019/08/01 全球购物
美国滑板店:Tactics
2020/11/08 全球购物
大学生就业协议书范本(适用于公司企业)
2014/10/07 职场文书
网聊搭讪开场白
2015/05/28 职场文书
2016年三八红旗手先进事迹材料
2016/02/26 职场文书
Python 循环读取数据内存不足的解决方案
2021/05/25 Python
gojs实现蚂蚁线动画效果
2022/02/18 Javascript
Python OpenCV超详细讲解读取图像视频和网络摄像头
2022/04/02 Python