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

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

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

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

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

dict = {"a":1, "b":2}

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://www.jb51.net/article/162815.htm

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

您可能感兴趣的文章:python使用flask与js进行前后台交互的例子python和flask中返回JSON数据的方法python+flask实现API的方法python实现通过flask和前端进行数据收发

python flask框架剖析_python flask框架实现传数据到js的方法分析相关推荐

  1. python查看dataframe数据类型_python pandas中DataFrame类型数据操作函数的方法

    python数据分析工具pandas中DataFrame和Series作为主要的数据结构. 本文主要是介绍如何对DataFrame数据进行操作并结合一个实例测试操作函数. 1)查看DataFrame数 ...

  2. python画鱼教程_Python Flask高级编程之从0到1开发《鱼书》精品项目 学习 教程??

    一 .安装环境 我们使用 flask web框架,并用 sqlalchemy来做数据库映射,并使用 migrate做数据迁移. $ pip install flask $ pip install SQ ...

  3. python制作考试系统_python测试框架数据生成工具最全资源汇总

    xUnit frameworks 单元测试框架 frameworks 框架 unittest - python自带的单元测试库,开箱即用 unittest2 - 加强版的单元测试框架,适用于Pytho ...

  4. python 爬虫哪个好_Python爬虫框架哪个最好用最简单

    想使用python爬虫框架开发个爬虫,但目前了解有限,希望大家帮忙推荐几个,谢谢啦~ 另外,大家平常工作中都使用python干些什么事情呢?网站开发?爬虫?还是运维? scrapy 爬虫框架.纯pyt ...

  5. python web三大框架对比_Python六大框架对比,Web2py略胜一筹

    Python是一门动态.面向对象语言.其最初就是作为一门面向对象语言设计的,并且在后期又加入了一些更高级的特性.除了语言本身的设计目的之外,Python标准库也是值得大家称赞的,Python甚至还自带 ...

  6. python flask web开发_Python Flask web后端开发

    1 路由选择 from flask import Flask from flask import request from flask import make_response from flask ...

  7. python表单处理_python flask 表单处理Flask-WTF

    涉及到的插件和包有Flask-WTF,WTForms.内容有表单的创建使用流程,一些最佳实践,还有在页面显示提示消息的简单方式,配合Flask内置的 flash(). Flask的requset对象包 ...

  8. 入口文件到控制器 php,tp5.0框架隐藏index.php入口文件及模块和控制器的方法分析...

    本文实例讲述了tp5.0框架隐藏index.php入口文件及模块和控制器的方法.分享给大家供大家参考,具体如下: 1. 隐藏入口文件: [ IIS ] 在IIS的高版本下面可以配置web.Config ...

  9. python 查找指定文件_python实现在目录中查找指定文件的方法

    本文实例讲述了python实现在目录中查找指定文件的方法.分享给大家供大家参考.具体实现方法如下: 1. 模糊查找 代码如下: import os from glob import glob #用到了 ...

最新文章

  1. Java写入大字符串到oracle数据库_java程序如何提高oracle百万级数据的insert效率
  2. 如何在 Windows 上安装多个 MySQL,实现 MySQL 跨电脑移植使用
  3. 【VMCloud云平台】SCCM(五)创建第一个集合
  4. 拥有这个证书的医务人员恭喜了,国家正式通知……
  5. 蓝桥杯大赛青少年创意编程 第十一届 省赛 C++组试题 第1题 双面打印
  6. 【Elasticsearch】 es nested 嵌套类型 详解
  7. Windows中MySQL主从数据库搭建(一)
  8. 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]*A[1]*...*A[i-1]*A[i+1]*...*A[n-1](简单易懂)
  9. 格雷码与二进制码之间的相互转换
  10. Android Studio 配置Git,移动端h5页面开发教程百度云资源
  11. 《嵌入式系统原理与应用》 |(一)嵌入式系统概述 知识梳理
  12. 维多利亚计算机专业怎么样,维多利亚大学计算机科学专业 学生要学哪些内容...
  13. linux桌面应用小结,Linux桌面应用技巧大全
  14. 微信小程序 上传头像截图功能
  15. 手动开启/关闭macOS HiDPI,让2k显示器完美适配macOS,解决紫屏问题
  16. JS中的`DOM`增删修
  17. linux 文件添加标签,SELinux——有趣的标签
  18. 危化企业如何建设人员定位、智能巡检等安全管理平台
  19. 通配符选择器/后代选择器(包含选择器)/选择器分组
  20. 360安全杀毒软件扫描计算机病毒吗,360杀毒软件全盘扫描杀毒教程

热门文章

  1. h700通话糊 索尼wi_专业的事还是要交给专业的人,盘点索尼千元以下的好耳机...
  2. 任意整数分频(图文并茂)
  3. wordpress程序安装php多少,2020最新WordPress网站程序详细安装教程
  4. pythonzip是迭代器_Python迭代器和zip
  5. vertx web连接超时 阻塞_Flink之基于Vertx的Mysql异步IO
  6. 20220129刷题--第4题-- cookie
  7. 用python画竹子_?【蟒蚺迷】BAMBOO BALLPYTHON!
  8. FTPClient登录慢的问题
  9. Linux下载_Linux系统各种版本ISO镜像下载(redhat,centos,oracle,ubuntu,openSUSE)
  10. POJ-1325 Machine Schedule 二分图匹配 最小点覆盖问题