Implementierung der Kommunikation zwischen Vue und Flask

Implementierung der Kommunikation zwischen Vue und Flask

axios installieren und Kommunikation implementieren

Hier verwenden wir Axios, um das Vue-Frontend und das Flask-Backend zu verbinden, und verwenden AJAX-Anfragen zur Kommunikation. Installieren Sie mit dem folgenden Befehl

npm installiere Axios

Das Nutzungsformat von Axios:

importiere Axios von „Axios“;
  Standard exportieren {
    Daten: Funktion () {
      zurückkehren {
        Serverantwort: „res_test“
      };
    },
    Methoden: {
      getData() {
        // Stellen Sie die entsprechende Python-Schnittstelle ein, hier verwenden wir localhost:5000
        const Pfad = "http://127.0.0.1:5000/getMsg";
        // Hier müssen wir res => verwenden, um die zurückgegebenen Daten darzustellen axios.get(path).then(res => {
          // Hier gibt der Server eine Antwort als JSON-Objekt zurück // Greifen Sie über .data auf die zurückgegebenen Daten zu und greifen Sie dann über .variable name darauf zu // Sie können den Schlüssel-Wert direkt über response.data abrufen
          var msg = res.data.msg;
          this.serverResponse = msg; // Da dies nicht direkt als Zeiger verwendet werden kann, wird dies dem then-Zeiger zugewiesen, bevor alter('Success' + response.status + ',' + response.data + ',' + msg); // Eingabeaufforderung nach Erfolg anzeigen }).catch(error => {
          konsole.fehler(fehler);
        });
      }
    },
  }

Code und Demo

Front-End-Code

Schreiben Sie die Datei ./components/HelloWorld.vue neu. Der Code lautet wie folgt:

<!-- html-Teil -->
<Vorlage>
  <div>
    <span>{{ Serverantwort }}</span>
    <!--{{}} wird hier verwendet, um auf den in JavaScript zugewiesenen Wert zu verweisen-->
    <button @click="getData">Daten abrufen</button>
  </div>
</Vorlage>
<!-- js-Teil -->
<Skript>
  importiere Axios von „Axios“;
  Standard exportieren {
    Daten: Funktion () {
      zurückkehren {
        Serverantwort: „res_test“
      };
    },
    Methoden: {
      getData() {
        // Stellen Sie die entsprechende Python-Schnittstelle ein, hier verwenden wir localhost:5000
        const Pfad = "http://127.0.0.1:5000/getMsg";
        axios.get(Pfad).then(res => {
          // Hier gibt der Server eine Antwort als JSON-Objekt zurück // Greifen Sie über .data auf die zurückgegebenen Daten zu und greifen Sie dann über .variable name darauf zu // Sie können den Schlüssel-Wert direkt über response.data abrufen
          var msg = res.data.msg;
          this.serverResponse = msg; // Da dies nicht direkt als Zeiger verwendet werden kann, wird dies dem then-Zeiger zugewiesen, bevor alter('Success' + response.status + ',' + response.data + ',' + msg); // Eingabeaufforderung nach Erfolg anzeigen }).catch(error => {
          konsole.fehler(fehler);
        });
      }
    },
  }
</Skript>
<!-- CSS-Teil -->
<!-- Fügen Sie das Attribut „scoped“ hinzu, um CSS nur auf diese Komponente zu beschränken -->
<Stilbereich>
  h1,
  h2 {
    Schriftstärke: normal;
  }

  ul {
    Listenstiltyp: keiner;
    Polsterung: 0;
  }

  li {
    Anzeige: Inline-Block;
    Rand: 0 10px;
  }

  A {
    Farbe: #42b983;
  }
</Stil>

Die Hauptimplementierung besteht hier darin, durch Klicken auf eine Schaltfläche mit dem Server zu interagieren, um Daten abzurufen und an das Front-End zurückzusenden, und dann das Front-End mit den abgerufenen Daten erneut zu rendern.

Abbildung 1

Nachdem wir die obige Seite erhalten haben, klicken wir auf die Schaltfläche „Datum abrufen“, wodurch eine GET-Anforderung an das Backend gesendet wird. Nachdem der Backend-Server die Anforderung überwacht hat, gibt er die entsprechenden Daten zurück.

Abbildung 2

Kundencode

aus Flasche importieren Flasche
aus Flask importieren Sie jsonify
von flask_cors importiere CORS

App = Flask(__name__)
cors = CORS(Anwendung, Ressourcen={r"/getMsg": {"Ursprünge": "*"}})


@app.route('/')
def hallo_welt():
    gib „Test!“ zurück

# Auf 127.0.0.1:5000/getMsg-Anfragen warten @app.route('/getMsg', methods=['GET', 'POST'])
def home():
    Antwort = {
        'msg': 'Hallo, Python!'
    }
    Antwort zurückgeben


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

Dies ist das Ende dieses Artikels über die Implementierung der Vue- und Flask-Kommunikation. Weitere relevante Inhalte zur Vue- und Flask-Kommunikation finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Acht Beispiele, wie Vue Komponentenkommunikation implementiert
  • Eine sehr detaillierte Zusammenfassung der Kommunikation zwischen Vue-Komponenten
  • Vue3.x verwendet mitt.js für die Komponentenkommunikation
  • Wie implementiert Vue die Kommunikation zwischen Komponenten?
  • Fallzusammenfassung zur Vue-Komponentenkommunikationsmethode

<<:  So verwenden Sie GeoIP, um Regionen in Nginx einzuschränken

>>:  Lösung für das Paging-Fehlerproblem bei MySQL-Eins-zu-viele-Assoziationsabfragen

Artikel empfehlen

Detaillierte Analyse des React Diff-Prinzips

Inhaltsverzeichnis Diffing-Algorithmus Schicht-fü...

JavaScript-Datenvisualisierung: ECharts-Kartenerstellung

Inhaltsverzeichnis Überblick Vorsichtsmaßnahmen 1...

Lösung für das Problem, dass Centos8 Docker nicht installieren kann

Problem [root@zh ~]# [root@zh ~]# [root@zh ~]# yu...

Detaillierte Erklärung dieses Zeigeproblems in der JavaScript-Funktion

dieses Schlüsselwort Welches Objekt ruft die Funk...

MySQL bedingte Abfrage und/oder Verwendung und Priorität Beispielanalyse

Dieser Artikel veranschaulicht anhand von Beispie...

JS implementiert die zufällige Generierung von Bestätigungscodes

In diesem Artikelbeispiel wird der spezifische JS...

Detaillierte Erklärung zur Interpretation der Nginx-Konfigurationsdatei

Die Nginx-Konfigurationsdatei ist hauptsächlich i...

Vue implementiert das digitale Tausendertrennzeichenformat global

In diesem Artikelbeispiel wird der spezifische Co...

So verkleinern Sie die Protokolldatei in MYSQL SERVER

Das Transaktionsprotokoll zeichnet die Vorgänge a...

Zusammenfassung gängiger Toolbeispiele in MySQL (empfohlen)

Vorwort Dieser Artikel stellt hauptsächlich die r...

So verwenden Sie die Verlaufsumleitung in React Router

In react-router kann der Sprung in der Komponente...

MySQL-Datenbank implementiert MMM-Hochverfügbarkeitsclusterarchitektur

Konzept MMM (Master-Master-Replikationsmanager fü...