Vue3 (V) Details zur Integration der HTTP-Bibliothek axios

Vue3 (V) Details zur Integration der HTTP-Bibliothek axios

1. Installieren Sie axios

npm installiere [email protected] --save

2. Verwendung von Axios

1. Verweisen Sie auf Axios auf der Homepage

In Vue3 wurde eine neue setup Initialisierungsmethode hinzugefügt, daher beginnen wir hier damit, sie zu verwenden und zu testen. Der Beispielcode lautet wie folgt:

<Vorlage>
  <a-Layout>
    <a-layout-sider width="200" style="Hintergrund: #fff">
      <a-Menü
          Modus="inline"
          v-Modell:selectedKeys="selectedKeys2"
          v-Modell:openKeys="openKeys"
          :Stil="{ Höhe: '100%', Rahmen rechts: 0 }"
      >
        <a-sub-menu key="sub1">
          <Vorlage #Titel>
                <span>
                  <Benutzer-umrissen />
                  Unternavigation 1
                </span>
          </Vorlage>
          <a-menu-item key="1">Option1</a-menu-item>
          <a-menu-item key="2">Option2</a-menu-item>
          <a-menu-item key="3">Option3</a-menu-item>
          <a-menu-item key="4">Option4</a-menu-item>
        </a-Untermenü>
        <a-sub-menu key="sub2">
          <Vorlage #Titel>
                <span>
                  <laptop-umrissen />
                  Unternavigation 2
                </span>
          </Vorlage>
          <a-menu-item key="5">Option 5</a-menu-item>
          <a-menu-item key="6">Option6</a-menu-item>
          <a-menu-item key="7">Option 7</a-menu-item>
          <a-menu-item key="8">Option8</a-menu-item>
        </a-Untermenü>
        <a-sub-menu key="sub3">
          <Vorlage #Titel>
                <span>
                  <Benachrichtigung-umrissen />
                  Unternavigation 3
                </span>
          </Vorlage>
          <a-menu-item key="9">Option9</a-menu-item>
          <a-menu-item key="10">Option10</a-menu-item>
          <a-menu-item key="11">Option11</a-menu-item>
          <a-menu-item key="12">Option12</a-menu-item>
        </a-Untermenü>
      </a-Menü>
    </a-layout-sider>
    <a-Layout-Inhalt
        :style="{ Hintergrund: '#fff', Polsterung: '24px', Rand: 0, min. Höhe: '280px' }"
    >
      Inhalt
    </a-layout-inhalt>
  </a-layout>
</Vorlage>

<script lang="ts">
importiere { defineComponent } von „vue“;
importiere Axios von „Axios“;

exportiere StandarddefiniereKomponente({
  Name: "Home",
  aufstellen(){
    console.log('einrichten');
    axios.get("http://localhost:8888/ebook/list?name=spring").then(response =>{
      console.log(Antwort);
    })
  }
});
</Skript>

2. Starten Sie den Dienst neu

Öffnen Sie nach dem Starten des Dienstes die Homepage. Es ist nichts Ungewöhnliches zu sehen, wie unten gezeigt:

but die Dinge sind nicht so gut, wie wir dachten. Trauen Sie sich, F12 zu öffnen und auf die Konsole zu schauen?

Wenn Sie Angst haben, werde ich es wie unten gezeigt öffnen:

Ignorieren Sie den Warnteil. Der rote Kreis stellt einen Fehler dar.

Keine Panik, wenn Sie einen Fehler erhalten. Das ist normal. Lösen Sie einfach das Problem. Es handelt sich offensichtlich um ein domänenübergreifendes Problem. Einfach ausgedrückt: Obwohl es sich um dieselbe IP handelt, ist der Port unterschiedlich, was den Zugriff unmöglich macht.

3. Was ist Cross-Domain?

Es ist verständlich, dass, wenn eine Seite von einem IP-Port ( vue Projekt) auf Ressourcen von einem anderen IP-Port ( springboot Anforderungsschnittstelle) zugreift, ein domänenübergreifender Zugriff erfolgt.

4. Lösen Sie domänenübergreifende Probleme

Fügen Sie die Konfigurationsklasse CorsConfig hinzu, um das domänenübergreifende Problem zu lösen. Der Beispielcode lautet wie folgt:

importiere org.springframework.context.annotation.Configuration;
importiere org.springframework.web.cors.CorsConfiguration;
importiere org.springframework.web.servlet.config.annotation.CorsRegistry;
importiere org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

@Konfiguration
öffentliche Klasse CorsConfig implementiert WebMvcConfigurer {

    @Überschreiben
    public void addCorsMappings(CorsRegistry-Registrierung) {
        registry.addMapping("/**")
                .allowedOriginPatterns("*")
                .allowedHeaders(CorsConfiguration.ALL)
                .allowedMethods(CorsConfiguration.ALL)
                .allowCredentials(true)
                .maxAge(3600); // Keine Vorprüfung innerhalb von 1 Stunde erforderlich (OPTIONS-Anfrage senden)
    }

}

5. Starten Sie den Backend-Dienst neu und greifen Sie erneut zu

Jetzt ist es Zeit, das Wunder zu erleben. Drücken Sie F12 , um die Wahrheit zu sehen. Ignorieren Sie die Warnung und Sie können den gedruckten response sehen, wie in der folgenden Abbildung dargestellt:

Abschluss

Tatsächlich können wir hierfür auch jQuery verwenden. Sie sind alle gleich. Welches Ihnen gefällt, hängt davon ab, was Sie gewohnt sind. Hier wird die integrierte HTTP Bibliothek axios vorgestellt. Interessierte Studierende können sie gerne selbst ausprobieren.

Dies ist das Ende dieses Artikels über die Details der Vue3 integrierten HTTP -Bibliothek axios . Weitere relevante Inhalte zur in Vue3 integrierten HTTP-Bibliothek axios 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:
  • Detailliertes Beispiel für die Verwendung von Typescript zum Einkapseln von Axios in Vue3
  • Verwenden Sie vue3.x+vite+element-ui+vue-router+vuex+axios, um ein Projekt zu erstellen
  • Vue3+TypeScript kapselt Axios und implementiert Anforderungsaufrufe
  • Vue3 konfiguriert die domänenübergreifende Axios-Implementierungsprozessanalyse
  • Vue3 verwendet Axios Interceptor zum Drucken von Front-End-Protokollen

<<:  Tutorial zur HTML-Tabellenauszeichnung (30): Farbattribut für dunkle Zellenränder BORDERCOLORDARK

>>:  Diagramm des Datenübertragungsprozesses beim dritten TCP-Handshake

Artikel empfehlen

Vue implementiert rekursiv benutzerdefinierte Baumkomponenten

In diesem Artikel wird der spezifische Code der r...

HTML-Sonderzeichen-Konvertierungstabelle

Charakter Dezimal Zeichennummer Entitätsname --- ...

So implementieren Sie einen variablen Ausdrucksselektor in Vue

Inhaltsverzeichnis Definieren der HTML-Struktur E...

Tutorial zur Installation von MySQL 5.7.18 unter Windows 10

In diesem Tutorial erfahren Sie alles über die In...

mysql Backup-Skript und halten Sie es für 7 Tage

Skriptanforderungen: Sichern Sie die MySQL-Datenb...

Javascript zum Erzielen eines Trommeleffekts

In diesem Artikel wird der spezifische Code von J...

Vite2.0 Fallstricke

Inhaltsverzeichnis Optimierung des Vite-Projektau...

Der Unterschied zwischen redundanten und doppelten Indizes in MySQL

MySQL ermöglicht das Erstellen mehrerer Indizes f...

5 Möglichkeiten, um festzustellen, ob ein Objekt in JS ein leeres Objekt ist

1. Konvertieren Sie das JSON-Objekt in eine JSON-...

Beispielcode zum Erzielen eines Aushöhlungseffekts mit reinem CSS

Ich habe kürzlich den Aushöhlungseffekt untersuch...

Installation von mysql-community-server.5.7.18-1.el6 unter centos 6.5

Verwenden Sie den folgenden Befehl, um zu überprü...

Mysql behält den vorhandenen Inhalt bei und fügt später Inhalte hinzu

Dieser Befehl ändert die Datentabelle ff_vod und ...