1. VoraussetzungenBei 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-ProjektstrukturErstellen Sie lokal ein Vue-Projekt mit der folgenden Verzeichnisstruktur:
Erstellen Sie im Vue-Projekt ein http-Verzeichnis als Verwaltungsverzeichnis von axios. Im http-Verzeichnis befinden sich zwei Dateien, nämlich
3. CodebeispieleDer 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. EffektdemonstrationStarten 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:
|
<<: Detaillierte Erklärung der InnoDB-Speicherdateien in MySQL
>>: Detaillierte Erläuterung der Dateisystemformate der EXT-Serie in Linux
Wenn wir wissen, welche For-Schleife oder welcher...
Cooper sprach über den visuellen Pfad des Benutze...
Im Projekt ist es erforderlich, den Breiten- und ...
1. Überwachungsplanung Bevor Sie ein Überwachungs...
Zusammenfassung HTML: Element plus V-Umhang CSS: ...
Ich habe ein Linux-Ubuntu-System auf meinem Compu...
Um eine hohe Verfügbarkeit des Netzwerks zu gewäh...
In allgemeinen Anwendungen verwenden wir die Type...
Inhaltsverzeichnis 1. Kommentare zu MySQL-Primärs...
Inhaltsverzeichnis Vorwort 1. Nginx-Installation ...
Inhaltsverzeichnis 1. Übersicht 2. Definieren Sie...
Lastenausgleich ist ein häufig verwendetes Mittel...
Da immer mehr Entwickler SASS verwenden, müssen w...
Ideen Eigentlich ist es ganz einfach Schreiben Si...
1. Verschiedene CSS-Symbole Es gibt drei Möglichk...