So kapseln Sie Axios-Anfragen mit Vue

So kapseln Sie Axios-Anfragen mit Vue

Tatsächlich ist es sehr einfach, Axios in Vue zu kapseln

Erstellen Sie zunächst einen http-Ordner im src-Pfad und erstellen Sie drei Dateien: api.js env.js request.js

env.js-Datei

Diese Datei enthält hauptsächlich unsere öffentliche Adresse

Standard exportieren {
// Entwicklungsumgebung dev: {
    baseUrl: „Öffentliche Adresse der Entwicklungsumgebung“
},
// Testumgebungstest
prüfen: {
    baseUrl: "Öffentliche Adresse der Testumgebung"
},
//Online-Schnittstelle prod: {
    baseUrl: "Öffentliche Adresse der Online-Umgebung"
}
};

Datei request.js

Der Hauptzweck besteht hier darin, Axios zu erstellen und das Abfangen von Anforderungen und das entsprechende Abfangen zu kapseln

importiere Axios von „Axios“;
Umgebung aus "./env" importieren;
//Dies ist ein privater Domänenname, aber Sie können es auch leer lassen. var vipUrl = "/app";
// Eine Axios-Instanz erstellen const service = axios.create({
//Hier ist die BaseUrl für den Online-Schnittstellentest: env.prod.baseUrl + vipUrl,
    headers:{},//Anforderungsheader settimeout:2000,//Timeout });
//Anforderungs-Interceptor hinzufügen service.interceptors.request.use(
Konfiguration => {
    // Tun Sie etwas, bevor Sie die Anfrage senden config.headers["deviceType"] = "H5";
    console.log("Angeforderte Daten:", config);
    Konfiguration zurückgeben;
},
Fehler => {
    // Etwas gegen den Anforderungsfehler unternehmen return Promise.reject("error", error);
}
);

//Antwort-Interceptor hinzufügen service.interceptors.response.use(
Antwort => {
    // Etwas mit den Antwortdaten machen // console.log("returned data", response);
    Antwort zurückgeben;
},
Fehler => {
    // Etwas gegen den Fehler unternehmen return Promise.reject(error);
}
);
Standarddienst exportieren;

api.js

Diese Datei benötigt vor allem die Schnittstellenadresse

//Request.js-Datei importierenImport-Anfrage von "./request";

// Karussell-Exportfunktion getBanners(data) {
Rückgabeanforderung({
    url: "/banner", //Diese Adresse ist die Adresse, die nach dem Entfernen der öffentlichen Adresse und des privaten Domänennamens übrig bleibt. Methode: "GET", //Die Anforderungsmethode unterstützt mehrere Methoden wie Get, Post, Put, Delete usw. Daten//Parameter, die beim Senden von Anforderungen konfiguriert werden müssen. Sie können es auch leer lassen, wenn keine Parameter vorhanden sind. });
}

Schließlich der Verweis auf der Seite

Wenn die Seite Daten anfordern muss, führen Sie die entsprechende Methode ein. Beispielsweise muss meine Homepage ein Banner einführen.

<Skript>
//Führen Sie die erforderliche Schnittstelle ein import { getBanners } from "../http/api";
Standard exportieren {
Name: "Home",
Komponenten: {},
montiert() {
    //Direkt verwenden. Dann ist der Rückruf für eine erfolgreiche Anfrage. Catch ist der Rückruf für eine fehlgeschlagene Anfrage getBanners()
    .dann(Ergebnis => {
        window.console.log("111", Ergebnis);
    })
    .catch(err => {
        window.console.log("222", err);
    });
},
Methoden: {}
};
</Skript>

Oben finden Sie Einzelheiten zum Einkapseln von Axios-Anfragen mit Vue. Weitere Informationen zum Einkapseln von Axios-Anfragen mit Vue finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Beispielcode einer Vue-Anwendung basierend auf der Axios-Anforderungskapselung
  • So kapseln Sie Axios in ein Vue-Projekt (einheitliche Verwaltung von HTTP-Anfragen)
  • 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

<<:  Tutorial zur grundlegenden Verwendung des MySQL Slow Query Log

>>:  Zusammenfassung der bei der Installation von Docker auf der Home-Version von Win10 aufgetretenen Probleme

Artikel empfehlen

Zabbix implementiert die Überwachung mehrerer MySQL-Prozesse

Auf einem Server werden drei MySQL-Instanzprozess...

Vue3.x verwendet mitt.js für die Komponentenkommunikation

Inhaltsverzeichnis Schnellstart Anwendung Grundpr...

Installation und Verwendung von TypeScript und grundlegende Datentypen

Der erste Schritt besteht darin, TypeScript globa...

Ein tiefer Einblick in JavaScript-Promises

Inhaltsverzeichnis 1. Was ist Promise? 2. Warum g...

Entwerfen Sie eine einfache HTML-Anmeldeoberfläche im CSS-Stil

login.html-Teil: <!DOCTYPE html> <html l...

Erzielen Sie mit reinem CSS3 in wenigen einfachen Schritten einen 3D-Flip-Effekt

Als Pflichtkurs für Frontend-Entwickler kann CSS3...

MySQL 8.0.20 Installations- und Konfigurations-Tutorial unter Docker

Docker installiert MySQL Version 8.0.20 zu Ihrer ...

Detaillierte Erklärung der Verwendung und Funktion des MySQL-Cursors

[Verwendung und Funktion des MySQL-Cursors] Beisp...

Eine kurze Diskussion über mehrere aufgetretene Browserkompatibilitätsprobleme

Hintergrund Das Lösen von Browserkompatibilitätsp...