亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Vue和Flask通信的實(shí)現(xiàn)

 更新時(shí)間:2021年05月19日 17:01:00   作者:StriveZs  
最近新做了個(gè)項(xiàng)目,前端使用的是目前很流行的前端框架,對(duì)于后端,本項(xiàng)目選擇的是比較好上手、輕量級(jí)的python后臺(tái)框架:Flask。感興趣的可以了解一下

安裝axios和實(shí)現(xiàn)通信

這里我們通過(guò)axios來(lái)連接Vue前端和Flask后端,使用AJAX請(qǐng)求進(jìn)行通信。使用如下命令安裝

npm install axios

axios的使用格式:

import axios from 'axios';
  export default {
    data: function () {
      return {
        serverResponse: 'res_test'
      };
    },
    methods: {
      getData() {
        // 設(shè)置對(duì)應(yīng)python的接口,這里使用的是localhost:5000
        const path = 'http://127.0.0.1:5000/getMsg';
        // 這里要使用 res =>表示返回的數(shù)據(jù)
        axios.get(path).then(res => {
          // 這里服務(wù)器返回response為一個(gè)json對(duì)象
          // 通過(guò).data來(lái)訪返回的數(shù)據(jù),然后在通過(guò).變量名進(jìn)行訪問(wèn)
          // 可以直接通過(guò)response.data取得key-value
          var msg = res.data.msg;
          this.serverResponse = msg; // 因?yàn)椴荒苤苯邮褂胻his作為指針,因此在這之前將this賦給了then指針
          alter('Success' + response.status + ',' + response.data + ',' + msg); // 成功后顯示提示
        }).catch(error => {
          console.error(error);
        });
      }
    },
  }

代碼及演示

前端代碼

對(duì)./components/HelloWorld.vue文件進(jìn)行改寫(xiě)。代碼如下:

<!-- html部分 -->
<template>
  <div>
    <span>{{ serverResponse }}</span>
    <!--這里使用{{}}來(lái)引用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() {
        // 設(shè)置對(duì)應(yīng)python的接口,這里使用的是localhost:5000
        const path = 'http://127.0.0.1:5000/getMsg';
        axios.get(path).then(res => {
          // 這里服務(wù)器返回response為一個(gè)json對(duì)象
          // 通過(guò).data來(lái)訪返回的數(shù)據(jù),然后在通過(guò).變量名進(jìn)行訪問(wèn)
          // 可以直接通過(guò)response.data取得key-value
          var msg = res.data.msg;
          this.serverResponse = msg; // 因?yàn)椴荒苤苯邮褂胻his作為指針,因此在這之前將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>
  h1,
  h2 {
    font-weight: normal;
  }

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

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

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

這里主要實(shí)現(xiàn)了通過(guò)單擊按鈕來(lái)和服務(wù)器端進(jìn)行交互獲得數(shù)據(jù)并傳回前端,將得到的數(shù)據(jù)重新來(lái)對(duì)前端進(jìn)行渲染。

figure.1

得到如上頁(yè)面之后,我們單擊get date按鈕,就會(huì)像后端發(fā)送GET請(qǐng)求,后端服務(wù)器監(jiān)聽(tīng)到請(qǐng)求之后就會(huì)返回對(duì)應(yīng)的數(shù)據(jù)。

figure.2

客戶端代碼

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!'

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


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

到此這篇關(guān)于Vue和Flask通信的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)Vue和Flask通信內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue基本使用--refs獲取組件或元素的實(shí)例

    vue基本使用--refs獲取組件或元素的實(shí)例

    今天小編就為大家分享一篇vue基本使用--refs獲取組件或元素的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起個(gè)跟隨小編過(guò)來(lái)看看吧
    2019-11-11
  • vue實(shí)現(xiàn)一個(gè)單文件組件的完整過(guò)程記錄

    vue實(shí)現(xiàn)一個(gè)單文件組件的完整過(guò)程記錄

    整個(gè)項(xiàng)目結(jié)構(gòu)清晰,尤其單文件組件的表現(xiàn)力尤為突出,使得每個(gè)組件的邏輯都沒(méi)有過(guò)于復(fù)雜,所以這篇文章主要給大家介紹了關(guān)于vue實(shí)現(xiàn)一個(gè)單文件組件的相關(guān)資料,需要的朋友可以參考下
    2021-06-06
  • vue項(xiàng)目input標(biāo)簽checkbox,change和click綁定事件的區(qū)別說(shuō)明

    vue項(xiàng)目input標(biāo)簽checkbox,change和click綁定事件的區(qū)別說(shuō)明

    這篇文章主要介紹了vue項(xiàng)目input標(biāo)簽checkbox,change和click綁定事件的區(qū)別說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • vue-cli 介紹與安裝

    vue-cli 介紹與安裝

    這篇文章主要給大家介紹的是vue-cli 介紹與安裝,vue-cli是和vue進(jìn)行深度組合的工具,可以快速幫我們創(chuàng)建vue項(xiàng)目,并且把一些腳手架相關(guān)的代碼給我們創(chuàng)建好。真正使用vue開(kāi)發(fā)項(xiàng)目,都是用vue-cli來(lái)創(chuàng)建項(xiàng)目的,下面文章詳細(xì)內(nèi)容,需要的朋友可以參考一下
    2021-10-10
  • Vue組件如何自動(dòng)按需引入詳析

    Vue組件如何自動(dòng)按需引入詳析

    剛學(xué)vue時(shí)候?qū)τ谌纸M件和局部組件有點(diǎn)懵,不知道什么時(shí)候用全局,什么時(shí)候用局部,下面這篇文章主要給大家介紹了關(guān)于Vue組件如何自動(dòng)按需引入的相關(guān)資料,需要的朋友可以參考下
    2021-12-12
  • vue中的config目錄下index.js解讀

    vue中的config目錄下index.js解讀

    這篇文章主要介紹了vue中的config目錄下index.js解讀,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 淺談Vue中的this.$store.state.xx.xx

    淺談Vue中的this.$store.state.xx.xx

    這篇文章主要介紹了Vue中的this.$store.state.xx.xx用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • vue3:setup語(yǔ)法糖使用教程

    vue3:setup語(yǔ)法糖使用教程

    <script setup>是在單文件組件中使用Composition API的編譯時(shí)語(yǔ)法糖,下面這篇文章主要給大家介紹了關(guān)于vue3:setup語(yǔ)法糖使用的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • vue watch自動(dòng)檢測(cè)數(shù)據(jù)變化實(shí)時(shí)渲染的方法

    vue watch自動(dòng)檢測(cè)數(shù)據(jù)變化實(shí)時(shí)渲染的方法

    本篇文章主要介紹了vue watch自動(dòng)檢測(cè)數(shù)據(jù)變化實(shí)時(shí)渲染的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01
  • 通過(guò)vue提供的keep-alive減少對(duì)服務(wù)器的請(qǐng)求次數(shù)

    通過(guò)vue提供的keep-alive減少對(duì)服務(wù)器的請(qǐng)求次數(shù)

    這篇文章主要介紹了通過(guò)vue提供的keep-alive減少對(duì)服務(wù)器的請(qǐng)求次數(shù),文中給大家補(bǔ)充介紹了vue路由開(kāi)啟keep-alive時(shí)的注意點(diǎn),需要的朋友可以參考下
    2018-04-04

最新評(píng)論