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
Normalerweise verwenden wir die Tags <ul><...
Verknüpfung: https://qydev.weixin.qq.com/wiki/ind...
Tomcat ist ein HTTP-Server, der die offizielle Re...
In diesem Artikel wird der spezifische Code des j...
Methode 1: Werte hinzufügen Gehen wir zu MDN, um ...
Inhaltsverzeichnis 1. Hintergrundwissen 1. Einfüh...
Was ist React React ist eine einfache JavaScript-...
1. Grundkenntnisse (Methoden von Datumsobjekten) ...
1. Zuerst müssen Sie den Zielselektor von CSS3 ve...
Mittlerweile basieren die meisten Docker-Images a...
In diesem Artikel wird der spezifische Code von J...
Inhaltsverzeichnis 1. Einleitung 2. Grundkonzepte...
veranschaulichen: Mit mysqldump –all-databases we...
Als absoluter Neuling habe ich gerade angefangen,...
Inhaltsverzeichnis 1. Schritte zum Download 2. Um...