Ein vollständiges Tutorial zur Verwendung der Axios-Kapselung in Vue

Ein vollständiges Tutorial zur Verwendung der Axios-Kapselung in Vue

Vorwort

Heutzutage 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’s

1. 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)
 },

Zusammenfassen

Dies 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:
  • So verwenden Sie Vue-axios für die Dateninteraktion
  • Vue-Projektpraxis: Elegante Nutzung von Axios
  • So verwenden Sie Axios-Anfragen im Vue-Projekt
  • Globale Verwendung der Axios-Operation in Vue
  • Detaillierte Erklärung der Verwendung von Axios in Vue

<<:  Detaillierte Erläuterung der KVM-Bereitstellung von drei virtuellen Maschinen zur Implementierung des WordPress-Experiments

>>:  Lösung für MySQLSyntaxErrorException beim Herstellen einer Verbindung zu MySQL über Bitronix

Artikel empfehlen

So verwenden Sie Lottie-Animationen in React Native-Projekten

Lottie ist eine von Airbnb entwickelte Open-Sourc...

Praktisches Beispiel einer virtuellen Vue-Liste

Inhaltsverzeichnis Vorwort Design erreichen Zusam...

So konfigurieren Sie Eureka im Docker

Heureka: 1. Erstellen Sie ein JDK-Image Starten S...

Implementierung der ELK-Bereitstellungsmethode mit einem Klick in Docker Compose

Installieren Filebeat hat Logstash-Forwarder voll...

Detaillierte Erklärung der 10 häufigsten HTTP-Statuscodes

Der HTTP-Statuscode ist ein dreistelliger Code, d...

Analyse der problematischen „Aborted“-Warnung in MySQL anhand von Fallstudien

Dieser Artikel stellt hauptsächlich den relevante...

So zeigen Sie die Ausführungszeit von SQL-Anweisungen in MySQL an

Inhaltsverzeichnis 1. Erste SQL-Vorbereitung 2. M...

Einführung in das Fokuselement document.activeELEment in JavaScript

Inhaltsverzeichnis 1. Der Fokus liegt standardmäß...

Eine großartige Sammlung von Lernressourcen zu Webstandards

Diese Spezifikationen sollen die Veröffentlichung ...

Eine detaillierte Einführung in den Ausführungsmechanismus von JavaScript

Inhaltsverzeichnis 1. Das Konzept von Prozess und...

Zusammenfassung einiger Vorschläge zum HTML-Code-Schreibstil

Das Protokoll der Ressourcendatei weglassen Es wi...

Zusammenfassung der Methoden zur Änderung des Git-Commit-Protokolls

Fall 1: Letzte Übermittlung und kein Push Führen ...