随笔-关于前端调取Python数据

article/2025/10/8 19:52:03

description: 使用了jQuery的ajax,Python的Flask库和Flask的跨域包flask-cors

1. 安装依赖包

通过豆瓣源安装对应包

pip install 包名 -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

2. 启动Python的Flask

from flask import Flask
app = Flask(__name__)
@app.route('/hello')#这个是对函数的注解
def hello_world():return "hello world"
if __name__=='__main__':app.run()

运行一下,控制台出现在这里插入图片描述

说明已经布置完成,**字符串hello world**被发送到了localhost:5000/hello

此时直接访问/爬取都能直接获取"hello world"在这里插入图片描述

3. ajax获取Flask发送的信息

$.ajax({type : "get",async : false,     //异步请求(同步请求将会锁住浏览器,用户其他操作必须等待请求完成才可以执行)url : "",    //服务器端放出api的地址,一般是把数据以json格式放出data : {},dataType : "json",        //返回数据形式为jsonsuccess : function(result) {//请求成功时执行该函数内容,result即为服务器返回的json对象}},error : function() {//请求失败时执行该函数}})

重点在url

  1. 如果js文件一起部署到了localhost:5000,那么直接填"/hello"即可

  2. 如果是外部js文件,那么需要填完整路径http://localhost:5000/hello.同时,解决跨域问题,否则会报错

    Access to XMLHttpRequest at ‘http://localhost:5000/api/msg’ from origin ‘http://localhost:63342’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.

问题一:解决跨域问题

py引入flask-cors包,并用CORS包裹app即可,需要写上完整路径,http://不要忘记

from flask import Flask
from flask_cors import CORS
app = Flask(__name__)
CORS(app)
@app.route('/hello')
def hello_world():return "hello world"
if __name__=='__main__':app.run()

此后,ajax即可接受到hello world

问题二:访问成功,ajax仍然error请求失败

这有可能是dataType参数的原因。

因为有时候(刚刚)上传的数据是str类型,如果dataType设置成json,那么就接受不到数据,就会转到error

4. Python上传各种格式数据

一般来说,前端主要接受jsonstr类型的数据,最多的是json,所以一般在Python中先将数据处理一下再上传

Python的非常优秀的数据处理语言,这取决于它有各种数据分析的库,如numpypandas

Python中可以做以下事情:

  • flask只能上传str类型的数据,但上传json格式的字符串可以被ajax识别成json类型
  • 可通过pandas将其他类型的数据转为strjson
  • 在Python中把数据处理好后传给前端。这样前端接受数据后就不需要再处理数据,或者简单处理数据就可以直接用了

5. 例:用echarts显示csv的数据

  • Python

    from flask_cors import CORS
    import pandas as pd
    from flask import Flask
    app = Flask(__name__)
    CORS(app)
    @app.route('/data/data1')#以上是跨域部署服务器及url
    def xianlu():#读取csv文件,第一列作为索引,dataSet是DataFrame的类型dataSet = pd.read_csv('DataA09/station.csv', index_col=0)#统计各线路的人次,保存在Series中array=pd.Series(dataSet['线路'].value_counts())#将{线路:人次}转为jsonjson_split=array.to_json(orient='split')return json_splitif __name__=='__main__':app.run()
    

    解析:csv文件如下图所示
    在这里插入图片描述

    • dataSet:以编号为行索引,以"站点名称"、“线路”、"行政区域"为列索引。索引不算作数据内容
      在这里插入图片描述

    • array:线路的人次。转为DataFrame的目的是可以转成json
      在这里插入图片描述

    • json_splitSeriespandas中保存一维数组的类型。而DataFrame对应的是多维数组

      Series转为json有很多种形式,这里选择split比较合适。保存在json中的中文以Unicode编码,会看上去乱码。
      在这里插入图片描述

  • html:

    <div class="b_right_box"><div id="chart_5" class="echart" style="width: 100%; height: 3.6rem;"></div>
    </div>
    
  • JavaScript:这里要注意,echarts接受的数据一般是Array类型的,不然可能报各种错

    function echart_5() {// 基于准备好的dom,初始化echarts实例var myChart = echarts.init(document.getElementById('chart_5'));$.ajax({type : "get",async : false,            url : "http://127.0.0.1:5000/data/data1",   data : {},dataType : "json",        //返回数据形式为jsonsuccess : function(result) {//请求成功时执行该函数内容,result即为服务器返回的json对象var data = result;//data是str类型的json数据if (data) {let index=data["index"]let values=data["data"]myChart.hideLoading();    //隐藏加载动画myChart.setOption({        //加载数据图表xAxis: {type: 'category',data: index,},yAxis: {type: 'value',},series: [{data: values,type: 'bar',barWidth: "35%",}]});}},error : function() {alert("错误")}})
    }
    

http://chatgpt.dhexx.cn/article/QAeGugdN.shtml

相关文章

python使用flask模块和前端交互基础

python利用flask模块和前端进行交互基础 一、模块使用&#xff1a; python&#xff1a;flask、flask_cors 【两个都是第三方模块需要进行按照】推荐使用豆瓣源安装&#xff0c;以下为豆瓣源安装方法 pip install flask -i https://pypi.douban.com/simple/ pip install flas…

Python 竟也可以写网页前端了

Python作为胶水语言&#xff0c;真的是无所不能。这不&#xff0c;最近又出现一个基于 Python3&#xff0c;目标是替代 JavaScript 的前端开发工具 — Brython 好用吗&#xff1f;咱今天来试试用它写一个计算器&#xff1a; 不过&#xff0c;我们首先要知道它作为 Python 的客…

用Python写了一个前端,轻轻松松实现前端梦

前端除了用jscsshtml&#xff0c;还有没有其它办法&#xff1f;其实python也可以 1. 安装与基本流程 Python学习交流Q群&#xff1a;906715085### 安装 PyWebIO 和其他的第三方库一样使用pip install PyWebIO就行&#xff0c;没有任何难度&#xff0c;此处不做多讲。但是在正式…

Pyscript,使用Python编写前端脚本

介绍 Anaconda的CEO Peter Wang在前两个月的时候发布了Pyscript&#xff0c;实现了在HTML支持Python的使用&#xff0c;整个引用过程甚至不需要安装任何环境&#xff0c;只需要使用link和script标签即可引用实现Python在HTML中运行的功能&#xff0c;在HTML中也可以运行和使用…

python前端界面实现交互,python的交互模式是什么

如何进入python交互界面 Python交互模式有两种&#xff1a;图形化的交互模式或者命令行的交互模式。打开步骤&#xff1a;首先点击开始菜单。 然后在搜索栏中输入Python&#xff0c;即可看到图形化的交互模式&#xff08;IDLE&#xff08;Python 3.7 64-bit&#xff09;&…

前端运行python代码几种方式_前端和python

广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 如果您细心对比过 json python sdk 和 xml python sdk 的文档,您会发现并不是一个简单的增量更新。 xml python sdk 在架构、可用性和安全性上有了非常大的提升…

逆袭之路——python 前端开发之基础部分【day38】

今日内容概要 前端简介HTTP简介HTTP协议HTML简介head内常见标签body内基本标签body内特殊符号body内常见标签标签的两大重要参数列表标签表格标签 今日内容详细 一、前端简介 什么是前端 什么是后端&#xff1f; 前端&#xff1a; 任何与用户直接打交道的界面都可以…

用Python写前端

分享一个让开发交互式 Web app 超级简单的工具。不会 HTML&#xff0c;CSS&#xff0c;JAVASCRIPT 也没事。交互式 Web app 非常实用&#xff0c;比如说做一个问卷调查页面、一个投票系统、一个信息收集表单&#xff0c;上传文件等等&#xff0c;因为网页是可视化的&#xff0c…

jsp物流配送管理系统

jsp物流配送管理 emmmm 本系统带程序说明书 有需要的可以去我上传的资源里面找&#xff0c;找不到的话&#xff0c;评论我&#xff0c;或者站内私信留下邮箱&#xff0c; 我看到机会给你发&#xff0c;也可以主动联系我博客名。 因为最近太忙一直没有上传完。我会尽快传完…

中小企业物流配送管理系统SSM开发MYSQL数据库javaweb项目j2ee实现

本项目使用IDEA JavaBean Servlet MVC和MYSQL开发,需要eclipse SSM SpringSpringMVCMyBatis或SQL server数据库的请联系QQ1978519681 1 数据库概念设计 2 功能 功能包含:货物种类 货物信息管理 入库 出库 库存盘点 车辆管理 物流配送管理 客户管理 员工管理 3 效果演示

基于SSH的物流配送信息管理平台设计与实现

目 录 1 引言 3 1.1 目的 3 1.2 背景 3 1.3 参考资料 3 1.4 术语 3 2 任务概述 4 2.1 目标 4 3 需求规定 4 3.1 一般性需求 4 3.2 功能性需求 4 6、 中心库房管理员&#xff1a;存放公司所配送的货物&#xff0c;是公司货物的入口。 4 3.2.2 整体业务流程描述 5 1、 客服接收客…

物流管理系统需要的服务器,物流业务管理系统

erp系统物流门店收银方案概述 连锁门店在国内的兴起,服务好,品牌一致,在工作效率上已经不能靠从前的记账方式。现成于条码技术,可以解决现在管理中快速的定位,集中处理,少出错等问题。采用GPRS无线网络,可以解决各个分店到总部的数据远程实时传输。便于集中统一管理,货…

物流配送管理系统(ssm,mysql)

可以实现数据的图形展示、报表展示、报表的导出、打印。 1、仓储数据分析: 将2018年12月1日青岛仓出库量与 1、 仓储主题 仓库分为冷冻仓和冷藏仓,仓库地点至少三个,一个地点有多个冷冻仓和冷藏仓。时间为日、月、季度、年。商品为具体的生鲜产品。仓库设置仓库维度、时间…

【附源码】计算机毕业设计SSM物流配送系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

快递配送管理系统毕业设计

技术&#xff1a;Java、JSP等 摘要&#xff1a;本快递配送管理系统是使用JSP编程语言和SQL Server2008数据库共同来完成的&#xff0c;采用面向对象方法&#xff0c;对快递配送管理系统进行设计与实现。分析设计了快递配送管理系统的静态模型和动态模型&#xff0c;完成了系统开…

基于C语言Win32API窗口实现的物流配送信息管理系统

一、题目 物流配送管理信息系统 二、系统功能模块结构图 2.1 函数程序模块结构图如图 1 所示&#xff1a; 图 1 2.2 录入子菜单功能结构图如图 2 所示&#xff1a; 图 2 2.3 插入的子菜单的功能结构图如图 3 所示&#xff1a; 图 3 2.4 修改的子菜单的功能结构图如图 4 所…

【附源码】计算机毕业设计SSM物流配送中心管理系统

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

python基于PHP+MySQL的物流配送管理系统平台

随着时代的发展,物流显得越来越重要。尤其是在网购这样的大环境冲击之下基本上物流已经充满了我们生活的每一个角落。尽管如此,但是对于那种大型的货物和车辆,仍然没有一个很好的信息共享平台。经常会出现出主找不到货源,货主找不到车源的情况。车主和货主之间形成了严重的信息…

基于PHP+MySQL的物流配送管理系统平台

随着时代的发展,物流显得越来越重要。尤其是在网购这样的大环境冲击之下基本上物流已经充满了我们生活的每一个角落。尽管如此,但是对于那种大型的货物和车辆,仍然没有一个很好的信息共享平台。经常会出现出主找不到货源,货主找不到车源的情况。车主和货主之间形成了严重的信息…

物流 计算机管理 好处,物流配送管理系统的好处与可行性分析

原标题&#xff1a;物流配送管理系统的好处与可行性分析 物流配送是物流业的基本职能之一。它在物流活动中具有重要的地位和作用。它反映了物流的最终效果。选择正确的配送路线不仅可以提高配送效率&#xff0c;还可以更好地为客户服务。提供贴心的送货服务。 使用物流配送系统…