vue从flask获取数据并显示

记录一个前后端分离遇到的问题,即vue前端从flask后端获取数据。具体描述如下:flask只负责连接数据库并获取数据库的数据,并返回给前端vue;vue则需要获取后端返回的数据并显示。

方法如下,分别用一个vue组件和一个flask启动文件展示。

首先是flask启动文件app.py

python 复制代码
from flask import Flask
from flask_cors import CORS  # 跨域请求模块

app = Flask(__name__)
CORS(app)  # 处理跨域请求


@app.route("/", methods=["GET"])
def get_info():
    return "我爱你ლ(′◉❥◉`ლ)"


if __name__ == '__main__':
    app.run(host='127.0.0.1', port=5000)

这里简化了flask连接数据库的部分,假设已经取得了数据这里用"我爱你ლ(′◉❥◉`ლ)"字符串表示后端返回的数据库数据。需要注意的是需要pip install flask_cors这个包用于处理跨域交流的问题,也很简单:

CORS(app)

一行代码就搞定了。

然后看一下vue组件,coach.vue

html 复制代码
<template>
  <div>
    <div>GET返回数据:{{ items }}</div>
  </div>

  <div>
    <button @click="initData()">Get获取数据</button>
  </div>
</template>

<script>
import axios from 'axios'
export default {
  data() {
    return {
      items: [],
      name: "",
      age: "",
      post: []
    }
  },

  methods: {
    initData() {
      axios.get('http://127.0.0.1:5000/')
          .then(response => {
            this.items = response.data
          })
          .catch(error => {
            console.error(error)
          })
    },
    mounted() {
      this.initData();
    },
  }
}
</script>

<style scoped>

</style>

这里我们点击按钮后利用axios(也需要npm install axios进行安装)就可以获取从后端返回的数据。

需要注意的是,后端flask与前端vue需要同时开启服务器

效果图如下:

点击按钮后:

相关推荐
AIGC包拥它16 小时前
RAG 项目实战进阶:基于 FastAPI + Vue3 前后端架构全面重构 LangChain 0.3 集成 Milvus 2.5 构建大模型智能应用
人工智能·python·重构·vue·fastapi·milvus·ai-native
小学生-山海19 小时前
【YOLO系列】基于YOLOv8/v11/v26+flask+fastdmin开发的目标检测系统
yolo·目标检测·flask
次次皮3 天前
代理启动前端dist包
java·前端·vue
展示猪肝3 天前
Vue2 + FastAPI + Dify 实现 AI 医疗预检分诊助手:从问诊追问到医生审核闭环
人工智能·vue·fastapi·dify
何忆清风3 天前
Easy Agent Pilot - Rust实现的开源桌面Agent软件
ai·rust·vue·agent·tauri·开发工具
码界筑梦坊3 天前
361-基于Python的空气质量气候数据分析预测系统
python·信息可视化·数据分析·flask·vue·毕业设计
我叫张小白。3 天前
劳动力招聘管理系统:全栈实战(Vue3+FastAPI+WebSocket+Dify)
websocket·vue·毕业设计·状态模式·fastapi·dify·智能体
fanzhonghong3 天前
javaWeb开发之前端实战(Tlias案例-部门管理)
前端·后端·web·前后端分离
vx_biyesheji00044 天前
计算机毕业设计:Python医疗数据分析平台 Flask框架 数据分析 可视化 医疗大数据 用户画像(建议收藏)✅
大数据·python·深度学习·数据分析·django·flask·课程设计