中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

實現Vue和Flask通信的示例分析

發布時間:2021-05-20 09:34:46 來源:億速云 閱讀:351 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關實現Vue和Flask通信的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

安裝axios和實現通信

這里我們通過axios來連接Vue前端和Flask后端,使用AJAX請求進行通信。使用如下命令安裝

npm install axios

axios的使用格式:

import axios from 'axios';
  export default {
    data: function () {
      return {
        serverResponse: 'res_test'
      };
    },
    methods: {
      getData() {
        // 設置對應python的接口,這里使用的是localhost:5000
        const path = 'http://127.0.0.1:5000/getMsg';
        // 這里要使用 res =>表示返回的數據
        axios.get(path).then(res => {
          // 這里服務器返回response為一個json對象
          // 通過.data來訪返回的數據,然后在通過.變量名進行訪問
          // 可以直接通過response.data取得key-value
          var msg = res.data.msg;
          this.serverResponse = msg; // 因為不能直接使用this作為指針,因此在這之前將this賦給了then指針
          alter('Success' + response.status + ',' + response.data + ',' + msg); // 成功后顯示提示
        }).catch(error => {
          console.error(error);
        });
      }
    },
  }

代碼及演示

前端代碼

對./components/HelloWorld.vue文件進行改寫。代碼如下:

<!-- html部分 -->
<template>
  <div>
    <span>{{ serverResponse }}</span>
    <!--這里使用{{}}來引用JavaScript中賦給this的值-->
    <button @click="getData">get data</button>
  </div>
</template>
<!-- js部分 -->
<script>
  import axios from 'axios';
  export default {
    data: function () {
      return {
        serverResponse: 'res_test'
      };
    },
    methods: {
      getData() {
        // 設置對應python的接口,這里使用的是localhost:5000
        const path = 'http://127.0.0.1:5000/getMsg';
        axios.get(path).then(res => {
          // 這里服務器返回response為一個json對象
          // 通過.data來訪返回的數據,然后在通過.變量名進行訪問
          // 可以直接通過response.data取得key-value
          var msg = res.data.msg;
          this.serverResponse = msg; // 因為不能直接使用this作為指針,因此在這之前將this賦給了then指針
          alter('Success' + response.status + ',' + response.data + ',' + msg); // 成功后顯示提示
        }).catch(error => {
          console.error(error);
        });
      }
    },
  }
</script>
<!-- css部分 -->
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style scoped>
  h2,
  h3 {
    font-weight: normal;
  }

  ul {
    list-style-type: none;
    padding: 0;
  }

  li {
    display: inline-block;
    margin: 0 10px;
  }

  a {
    color: #42b983;
  }
</style>

這里主要實現了通過單擊按鈕來和服務器端進行交互獲得數據并傳回前端,將得到的數據重新來對前端進行渲染。

實現Vue和Flask通信的示例分析

得到如上頁面之后,我們單擊get date按鈕,就會像后端發送GET請求,后端服務器監聽到請求之后就會返回對應的數據。

實現Vue和Flask通信的示例分析

客戶端代碼

from flask import Flask
from flask import jsonify
from flask_cors import CORS

app = Flask(__name__)
cors = CORS(app, resources={r"/getMsg": {"origins": "*"}})


@app.route('/')
def hello_world():
    return 'test!'

# 監聽127.0.0.1:5000/getMsg請求
@app.route('/getMsg', methods=['GET', 'POST'])
def home():
    response = {
        'msg': 'Hello, Python !'
    }
    return response


if __name__ == '__main__':
    app.run()

Vue的優點

Vue具體輕量級框架、簡單易學、雙向數據綁定、組件化、數據和結構的分離、虛擬DOM、運行速度快等優勢,Vue中頁面使用的是局部刷新,不用每次跳轉頁面都要請求所有數據和dom,可以大大提升訪問速度和用戶體驗。

感謝各位的閱讀!關于“實現Vue和Flask通信的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南陵县| 庆元县| 宝坻区| 治县。| 双峰县| 玛多县| 江川县| 澄江县| 屯昌县| 富源县| 虞城县| 灵寿县| 湾仔区| 招远市| 新源县| 漳平市| 临澧县| 固阳县| 乐陵市| 佛冈县| 南江县| 迭部县| 泽库县| 吉木乃县| 临夏县| 陵川县| 乌兰察布市| 昌图县| 石台县| 辉南县| 中卫市| 平远县| 上饶市| 出国| 岳普湖县| 柳河县| 昂仁县| 苍溪县| 泉州市| 嵩明县| 会同县|