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

Alibaba Cloud Centos7 Installation und Konfiguration von SVN

1. SVN-Server installieren yum installiere Subver...

HTML-Implementierung eines einfachen Rechners mit detaillierten Ideen

Code kopieren Der Code lautet wie folgt: <!DOC...

Detaillierte Erläuterung des Lernens von CSS-Zählerattributen

Das CSS-Zählerattribut wird von fast allen Browse...

Tipps zur Konvertierung von MySQL-Spalten in Zeilen (teilen)

Vorwort: Weil viele Geschäftstabellen Entwurfsmus...

MySQL 5.7.20 Win64 Installations- und Konfigurationsmethode

mysql-5.7.20-winx64.zipInstallationspaket ohne In...

Detaillierter Prozess der Installation von Logstash in Docker

Bearbeiten Sie docker-compose.yml und fügen Sie d...

web.config (IIS) und .htaccess (Apache) Konfiguration

xml <?xml version="1.0" encoding=&qu...

Ursachen und Lösungen für die Front-End-Ausnahme 502 Bad Gateway

Inhaltsverzeichnis 502 Bad Gateway Fehlerbildung ...

So fügen Sie Bilder in HTML-Seiten ein und fügen Kartenindexbeispiele hinzu

1. Im Web unterstützte Bildformate: GIF: kann 256...