当前位置:   article > 正文

vue从flask获取数据并显示_vue 获取flask api

vue 获取flask api

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

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

首先是flask启动文件app.py

  1. from flask import Flask
  2. from flask_cors import CORS # 跨域请求模块
  3. app = Flask(__name__)
  4. CORS(app) # 处理跨域请求
  5. @app.route("/", methods=["GET"])
  6. def get_info():
  7. return "我爱你ლ(′◉❥◉`ლ)"
  8. if __name__ == '__main__':
  9. app.run(host='127.0.0.1', port=5000)

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

CORS(app)

一行代码就搞定了。

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

  1. <template>
  2. <div>
  3. <div>GET返回数据:{{ items }}</div>
  4. </div>
  5. <div>
  6. <button @click="initData()">Get获取数据</button>
  7. </div>
  8. </template>
  9. <script>
  10. import axios from 'axios'
  11. export default {
  12. data() {
  13. return {
  14. items: [],
  15. name: "",
  16. age: "",
  17. post: []
  18. }
  19. },
  20. methods: {
  21. initData() {
  22. axios.get('http://127.0.0.1:5000/')
  23. .then(response => {
  24. this.items = response.data
  25. })
  26. .catch(error => {
  27. console.error(error)
  28. })
  29. },
  30. mounted() {
  31. this.initData();
  32. },
  33. }
  34. }
  35. </script>
  36. <style scoped>
  37. </style>

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

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

 效果图如下:

点击按钮后: 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/710504
推荐阅读
相关标签
  

闽ICP备14008679号