So kapseln Sie Axios in ein Vue-Projekt (einheitliche Verwaltung von HTTP-Anfragen)

So kapseln Sie Axios in ein Vue-Projekt (einheitliche Verwaltung von HTTP-Anfragen)

1. Voraussetzungen

Bei der Entwicklung von Front-End-Projekten mit dem Vue.js-Framework werden häufig Ajax-Anfragen an die Serverschnittstelle gesendet. Während des Entwicklungsprozesses muss Axios weiter gekapselt werden, um seine Verwendung im Projekt zu erleichtern.

2. Vue-Projektstruktur

Erstellen Sie lokal ein Vue-Projekt mit der folgenden Verzeichnisstruktur:

- öffentliche statische Ressourcendateien
-Quelle
|- statisches Ressourcenverzeichnis von Assets
|- Komponenten öffentliches Komponentenverzeichnis
|- http Axios-Paketverzeichnis
|- Router-Routing-Verwaltungsverzeichnis
|- Verzeichnis zur Statusverwaltung speichern
|- Ansichten zeigen Komponentenverzeichnis an
|- App.vue-Stammkomponente
|- main.js-Eintragsdatei
- package.json npm-Konfigurationsdatei

Erstellen Sie im Vue-Projekt ein http-Verzeichnis als Verwaltungsverzeichnis von axios. Im http-Verzeichnis befinden sich zwei Dateien, nämlich

  • /http/index.js-Datei, die die Axios-Methode kapselt
  • /http/api.js Einheitliche Verwaltungsschnittstellendatei

3. Codebeispiele

Der Code der Datei /http/api.js lautet wie folgt:

Standard exportieren {
    'users_add': '/Benutzer/Hinzufügen',
    'users_find': '/Benutzer/finden',
    'users_update': '/Benutzer/Update',
    'users_delete': '/Benutzer/löschen'
}

Der Code der Datei /http/index.js lautet wie folgt:

Axios von „Axios“ importieren
API aus „./api“ importieren

//Erstellen Sie ein Axios-Instanzobjekt let instance = axios.create({
    baseURL: 'http://localhost:3000', //Serveradressen-Timeout: 5000 //Standard-Timeout-Dauer})

//Interceptor anfordern instance.interceptors.request.use(config=>{
    //Schreiben Sie hier den Code zum Abfangen von Anforderungen, der im Allgemeinen zum Öffnen des Ladefensters verwendet wird console.log('Angefordert ...')
    Konfiguration zurückgeben
},err=>{
    console.error('Anforderung fehlgeschlagen',err)
})

//Antwort-Interceptor-Instanz.interceptors.response.use(res=>{
    //Verarbeite hier die Antwortdaten console.log('Anfrage erfolgreich!')
    return res //Das zurückgegebene Objekt wird an das Antwortobjekt der Anforderungsmethode übergeben},err=>{
    // Fehlerbehandlung bei der Antwort console.log('Antwort fehlgeschlagen!', err)
    // Promise.reject(err) zurückgeben;
})

//Kapselt die Axios-Anforderungsmethode, Parameter ist ein Konfigurationsobjekt //Option = {Methode,URL,Parameter} Methode ist Anforderungsmethode, URL ist Anforderungsschnittstelle, Parameter ist Anforderungsparameter asynchrone Funktion http(Option = {}) {
    let result = null
    wenn(option.method === 'holen' || option.method === 'löschen'){
     //Get- und Delete-Anfragen verarbeiten, warte auf Instanz [Option.Methode](
                api[option.url],
                {params: option.params}
          ).dann(res=>{
            Ergebnis = res.data
        }).catch(err=>{
            Ergebnis = Fehler
        })
    }sonst wenn(option.method === 'post' || option.method === 'put'){
     //Post- und Put-Anfragen verarbeiten, auf Instanz warten [Option.Methode](
                api[option.url],
                option.params
            ).dann(res=>{
            Ergebnis = res.data
        }).catch(err=>{
            Ergebnis = Fehler
        })
    }

    Ergebnis zurückgeben
}

Standard-HTTP exportieren

Importieren Sie die gekapselte Datei /http/index.js in die Eintragsdatei main.js. Der Beispielcode lautet wie folgt:

Vue von „vue“ importieren
App aus „./App.vue“ importieren
Router aus „./router“ importieren
Store aus „./store“ importieren
importiere http von './http'

Vue.config.productionTip = falsch
Vue.prototype.$http = http

Vue.use(Elementui)

neuer Vue({
  Router,
  speichern,
  rendern: h => h(App)
}).$mount('#app')

Testen Sie die Axios-Anforderung in der App.vue-Stammkomponente. Der Beispielcode lautet wie folgt:

<Vorlage>
  <div>
    <button @click="getDate">Anfrage senden</el-button>
  </div>
</Vorlage>

<Skript>
Standard exportieren {
  Methoden: {
    getDate(){
      dies.$http({
        Methode: 'get',
        URL: „Benutzer_finden“
      }).dann(res=>{
        Konsole.log(res)
      })

    }
  }
}
</Skript>

Hier muss eine Schnittstelle http://localhost:3000/users/find vorhanden sein, sonst schlägt die Anfrage fehl!

4. Effektdemonstration

Starten Sie das Vue-Projekt und rufen Sie im Browser die Adresse des Vue-Projekts auf. Meine Adresse lautet http://localhost:8080. Klicken Sie auf die Schaltfläche, um die Anfrage zu senden. Das Ergebnis ist in der folgenden Abbildung dargestellt.

An diesem Punkt wurde eine einfache Axios-Kapselung im Vue-Projekt abgeschlossen. Sie können Axios auch entsprechend Ihren tatsächlichen Anforderungen kapseln. Dieser Artikel dient nur als Referenz.

Dies ist das Ende dieses Artikels über die Kapselung von Axios (einheitliche Verwaltung von HTTP-Anfragen) in Vue-Projekten. Weitere relevante Inhalte zur Vue-Kapselung von Axios-Verwaltungs-HTTP-Anfragen 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:
  • So kapseln Sie Axios-Anfragen mit Vue
  • Beispielcode einer Vue-Anwendung basierend auf der Axios-Anforderungskapselung
  • Vue3+TypeScript kapselt Axios und implementiert Anforderungsaufrufe
  • Vue+axios kapselt Anfragen, um Front- und Backend zu trennen
  • Schritte für Vue zum Kapseln von Axios-Anfragen und -Interceptors
  • So verwenden Sie Axios zum Kapseln von HTTP-Anfragen in Vue-Projekten
  • Vue Axios wiederholtes Klicken bricht die letzte Anforderungskapselungsmethode ab
  • Kapselungsanforderung von Axios im Vue-Projekt

<<:  Detaillierte Erklärung der InnoDB-Speicherdateien in MySQL

>>:  Detaillierte Erläuterung der Dateisystemformate der EXT-Serie in Linux

Artikel empfehlen

Beispiele für die Verwendung von DD DT DL-Tags

Normalerweise verwenden wir die Tags <ul><...

Methode für die Sicherheitseinstellungen des Tomcat-Servers

Tomcat ist ein HTTP-Server, der die offizielle Re...

jQuery klickt auf den Liebeseffekt

In diesem Artikel wird der spezifische Code des j...

Zwei Möglichkeiten, die CSS-Priorität zu verstehen

Methode 1: Werte hinzufügen Gehen wir zu MDN, um ...

Eine kurze Analyse des Funktionsaufrufprozesses unter der ARM-Architektur

Inhaltsverzeichnis 1. Hintergrundwissen 1. Einfüh...

Bringen Sie Ihnen bei, wie Sie eine Reaktion aus HTML implementieren

Was ist React React ist eine einfache JavaScript-...

In JavaScript integrierter Zeit- und Datumsformatierungsbeispielcode

1. Grundkenntnisse (Methoden von Datumsobjekten) ...

Fügen Sie dem Debian-Docker-Container geplante Crontab-Aufgaben hinzu

Mittlerweile basieren die meisten Docker-Images a...

Native JS-Canvas zum Erzielen einer einfachen Schlange

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

Analyse der Initialisierung des Quellcodes des Linux-Kernel-Schedulers

Inhaltsverzeichnis 1. Einleitung 2. Grundkonzepte...