VorwortHeutzutage wird in Projekten häufig die Axios-Bibliothek für HTTP-Schnittstellenanforderungen verwendet. Es handelt sich um eine auf Versprechen basierende HTTP-Bibliothek, die im Browser und in node.js ausgeführt werden kann. Darüber hinaus verfügt es über hervorragende Funktionen wie das Abfangen von Anfragen und Antworten, die Konvertierung von JSON-Daten und einen clientseitigen Schutz gegen XSRF. In Anbetracht der Tatsache, dass die Schreibmethoden verwirrend und inkonsistent sind, wenn sie tatsächlich in verschiedenen Projekten verwendet werden. Axios ist auf allgemeine Weise gekapselt, um den Code zu vereinfachen und spätere Aktualisierungen und Wartungsarbeiten zu erleichtern, indem es so allgemein wie möglich gehalten wird. So geht’s1. Installieren Sie Axios in Vue npm installiere axios -S Oder npm i axios -S 2. Globaler Import in main.js Axios von „Axios“ importieren Vue.prototype.$axios = axios //Bindet axios an den Prototyp von Vue 3. Konfigurieren Sie Cross-Domain in vue.config.js im Stammverzeichnis modul.exporte = { öffentlicher Pfad: './', //Domänenübergreifende Anfragen konfigurieren devServer: { open: true, // Ob der Browser automatisch geöffnet werden soll https: false, // Ob https aktiviert werden soll hotOnly: falsch, Proxy: { // Domänenübergreifendes Konfigurieren von '/API': { Ziel: 'http://********', //Schnittstellendomänenname anfordern ws: true, sicher: falsch, changOrigin: true, //Ob Kreuzungen erlaubt sein sollen pathRewrite: { '^/api': '' } } }, vorher: app => { } } } 4. Erstellen Sie eine api.js-Datei im Ordner api im Unterverzeichnis src, um Axios einfach zu kapseln Axios von „Axios“ importieren //Hier verweisen wir auf das Laden des Elements im Vollbildmodus. Importieren Sie { Loading } von "element-ui"; const service = axios.create({ Basis-URL: '/', timeout: 30000 // Anforderungs-Timeout festlegen}) let laden = ""; //Interceptor anfordern service.interceptors.request.use( (Konfiguration) => { // Führen Sie eine Verarbeitung durch, bevor die Anfrage gesendet wird, if (!(config.headers['Content-Type'])) { wird geladen = wird geladen.service({ Sperre: wahr, Text: „Wird geladen …“, Spinner: "el-icon-loading", Hintergrund: "rgba(255,255,255,0.7)", benutzerdefinierte Klasse: "Anfrage wird geladen", }); wenn (Konfigurationsmethode == 'post') { config.headers['Inhaltstyp'] = „Anwendung/json;Zeichensatz=UTF-8“ für (var key in config.data) { wenn (Konfigurationsdaten[Schlüssel] === '') { config.data[Schlüssel] löschen } } Konfigurationsdaten = JSON.stringify(Konfigurationsdaten) } anders { config.headers['Inhaltstyp'] = „Anwendung/x-www-form-urlencoded;Zeichensatz=UTF-8“ Konfigurationsdaten = JSON.stringify(Konfigurationsdaten) } } Konstantentoken = "Token" // Jede Anfrage muss ein Token enthalten -- ['X-Token'] ist ein benutzerdefinierter Schlüssel. Bitte ändern Sie ihn entsprechend der tatsächlichen Situation. if (token) { config.headers['Autorisierung'] = Token } Konfiguration zurückgeben }, (Fehler) => { wird geladen.schließen(); // Senden von console.log (Fehler) fehlgeschlagen returniere Promise.reject(Fehler) } ) // Antwort-Interceptor service.interceptors.response.use( (Antwort) => { wird geladen.schließen(); // dataAxios sind die von axios zurückgegebenen Daten. // wird geladenInstance.close(); const dataAxios = antwort.data // Dieser Statuscode ist die mit dem Backend vereinbarte Rückgabe von dataAxios }, (Fehler) => { returniere Promise.reject(Fehler) } ) Standarddienst exportieren 5. Erstellen Sie eine http-Datei im API-Ordner // Importieren Sie die gepackten Axios // ps: Wenn keine Kapselung vorhanden ist, können Sie Axios aus "./api" importieren. // /api ist die Pfadvariable für die domänenübergreifende Konfiguration let reportUpload= '/api/report/upload' export const Upload= () => { gibt axios.get zurück (reportUpload) } 6. Rufen Sie die Schnittstelle auf der Seite auf //Einführung der gekapselten Schnittstelle import { Upload} from "@/api/http.js"; // Aufruf mit asynchronem Upload() { let { Ergebnis } = warte auf getlist (); console.log(Ergebnis) }, ZusammenfassenDies ist das Ende dieses Artikels über die Verwendung der Axios-Kapselung in Vue. Weitere relevante Inhalte zur Axios-Kapselung in Vue finden Sie in den vorherigen Artikeln von 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:
|
>>: Lösung für MySQLSyntaxErrorException beim Herstellen einer Verbindung zu MySQL über Bitronix
Lottie ist eine von Airbnb entwickelte Open-Sourc...
Inhaltsverzeichnis Vorwort Design erreichen Zusam...
Heureka: 1. Erstellen Sie ein JDK-Image Starten S...
Installieren Filebeat hat Logstash-Forwarder voll...
Der HTTP-Statuscode ist ein dreistelliger Code, d...
1. Wenn MySQL nicht erfolgreich gestartet wird, ü...
Verwenden Sie CSS3, um das Eingabefeld ähnlich de...
Dieser Artikel stellt hauptsächlich den relevante...
Inhaltsverzeichnis 1. Erste SQL-Vorbereitung 2. M...
Inhaltsverzeichnis 1. Der Fokus liegt standardmäß...
Was sind die Shutdown-Befehle für Linux-Systeme? ...
Diese Spezifikationen sollen die Veröffentlichung ...
Inhaltsverzeichnis 1. Das Konzept von Prozess und...
Das Protokoll der Ressourcendatei weglassen Es wi...
Fall 1: Letzte Übermittlung und kein Push Führen ...