VueとFlask間の通信の実装

VueとFlask間の通信の実装

axiosをインストールして通信を実装する

ここでは、axios を使用して Vue フロントエンドと Flask バックエンドを接続し、AJAX リクエストを使用して通信します。次のコマンドを使用してインストールします

npm インストール axios

axios の使用形式:

'axios' から axios をインポートします。
  エクスポートデフォルト{
    データ: 関数 () {
      戻る {
        サーバーレスポンス: 'res_test'
      };
    },
    メソッド: {
      取得データ() {
        // 対応する Python インターフェースを設定します。ここでは localhost:5000 を使用します。
        定数パス = 'http://127.0.0.1:5000/getMsg';
        // ここでは、返されたデータを表すために res => を使用する必要があります axios.get(path).then(res => {
          // ここでサーバーはレスポンスを json オブジェクトとして返します // 返されたデータに .data 経由でアクセスし、次に .variable name 経由でアクセスします // response.data 経由でキー値を直接取得できます
          var msg = res.data.msg;
          this.serverResponse = msg; // これを直接ポインターとして使用できないため、then ポインターに代入してから alter('Success' + response.status + ',' + response.data + ',' + msg); // 成功後にプロンプ​​トを表示します }).catch(error => {
          コンソールエラー(エラー);
        });
      }
    },
  }

コードとデモ

フロントエンドコード

./components/HelloWorld.vue ファイルを書き換えます。コードは次のとおりです。

<!-- html 部分 -->
<テンプレート>
  <div>
    <span>{{ serverResponse }}</span>
    <!--{{}} は、JavaScript でこれに割り当てられた値を参照するために使用されます-->
    <button @click="getData">データを取得</button>
  </div>
</テンプレート>
<!-- js 部分 -->
<スクリプト>
  'axios' から axios をインポートします。
  エクスポートデフォルト{
    データ: 関数 () {
      戻る {
        サーバーレスポンス: 'res_test'
      };
    },
    メソッド: {
      取得データ() {
        // 対応する Python インターフェースを設定します。ここでは localhost:5000 を使用します。
        定数パス = 'http://127.0.0.1:5000/getMsg';
        axios.get(path).then(res => {
          // ここでサーバーはレスポンスを json オブジェクトとして返します // 返されたデータに .data 経由でアクセスし、次に .variable name 経由でアクセスします // response.data 経由でキー値を直接取得できます
          var msg = res.data.msg;
          this.serverResponse = msg; // これを直接ポインターとして使用できないため、then ポインターに代入してから alter('Success' + response.status + ',' + response.data + ',' + msg); // 成功後にプロンプ​​トを表示します }).catch(error => {
          コンソールエラー(エラー);
        });
      }
    },
  }
</スクリプト>
<!-- css 部分 -->
<!-- CSS をこのコンポーネントのみに制限するために "scoped" 属性を追加します -->
<スタイルスコープ>
  h1,
  h2 {
    フォントの太さ: 標準;
  }

  ul {
    リストスタイルタイプ: なし;
    パディング: 0;
  }

  li {
    表示: インラインブロック;
    マージン: 0 10px;
  }

  {
    色: #42b983;
  }
</スタイル>

ここでの主な実装は、ボタンをクリックしてサーバーと対話し、データを取得してそれをフロントエンドに送り返し、取得したデータを使用してフロントエンドを再レンダリングすることです。

図1

上記のページを取得したら、「日付を取得」ボタンをクリックすると、バックエンドに GET リクエストが送信されます。バックエンド サーバーはリクエストを監視した後、対応するデータを返します。

図2

クライアントコード

FlaskからFlaskをインポート
Flaskからjsonifyをインポート
flask_corsからCORSをインポートする

アプリ = Flask(__name__)
cors = CORS(アプリ、リソース={r"/getMsg": {"origins": "*"}})


@app.route('/')
hello_world() を定義します:
    'test!' を返します。

# 127.0.0.1:5000/getMsg リクエストをリッスンします @app.route('/getMsg', methods=['GET', 'POST'])
デフホーム():
    レスポンス = {
        'msg': 'こんにちは、Python!'
    }
    応答を返す


__name__ == '__main__' の場合:
    アプリの実行()

Vue と Flask の通信の実装に関するこの記事はこれで終わりです。Vue と Flask の通信に関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue がコンポーネント通信を実装する 8 つの例
  • Vueコンポーネント間の通信の非常に詳細な要約
  • Vue3.xはコンポーネント通信にmitt.jsを使用します
  • Vue はコンポーネント間の通信をどのように実装しますか?
  • Vueコンポーネント通信方法事例まとめ

<<:  geoip を使用して nginx で地域を制限する方法

>>:  MySQL 1対多関連クエリのページングエラー問題の解決方法

推薦する

CSS の border 属性と display 属性の使い方の簡単な分析

境界プロパティの概要borderプロパティは要素の境界を設定します。境界線の3要素は、太さ、線の種類...

JavaScript を使用してテーブル情報を追加および削除する

JavaScript 入門JavaScript は軽量なインタープリタ型の Web 開発言語です。言...

MySQL SHOW STATUSステートメントの使用

MySQL のパフォーマンス調整とサービス ステータスの監視を行うには、MySQL の現在の実行状態...

Vue スクロールダウンしてさらにデータを読み込む スクロールケースの詳細な説明

vue-無限スクロールインストール npm インストール vue-infinite-scroll -...

テーブル適応とオーバーフローのいくつかの設定の詳細な説明

1. テーブル リセットの 2 つのプロパティ: ①border-collapse: collaps...

yum の基本的な使い方と例(推奨)

yumコマンドYum (フルネームは Yellow dog Updater, Modified) ...

Web デザイン リファレンス Firefox デフォルト スタイル

W3C は HTML の標準をいくつか確立していますが、ブラウザは独自の定義済みスタイルに従って W...

Reactベースのコンポーネントのカプセル化の実装手順

目次序文antd はどのようにしてコンポーネントをカプセル化するのでしょうか?ディバイダーコンポーネ...

Docker Compose で利用可能な環境変数の詳細な説明

Compose のいくつかの部分は、何らかの方法で環境変数を扱います。このチュートリアルは、必要な情...

MySQL が外部キーを作成できない理由と解決策

2 つのテーブルを関連付けるときに、外部キーを作成できませんでした。このブログから、問題は、ポイント...

MySQL ファジークエリステートメントコレクション

SQL ファジークエリステートメント一般的なファジーステートメントの構文は次のとおりです。 SELE...

MySQLの連結関数CONCATの使い方の詳しい説明

前回の記事では、MySQL の置換関数 (Replace) とセグメンテーション関数 (SubStr...

Docker ベースの Redis マスタースレーブ クラスタの実装

目次1. Redisイメージを取得する2. 6つのRedisコンテナを作成する3. Redisコンテ...

Linux の検索ツールの代替となるフレンドリーなツール

find コマンドは、指定されたディレクトリ内のファイルを検索するために使用されます。引数の前の文字...