So kapseln Sie Axios einfach in Vue

So kapseln Sie Axios einfach in Vue

Axios in Vue einfügen

importiere Axios von „Axios“;
Vue.prototype.$axios = axios;
Axios von „Axios“ importieren

axios.defaults.timeout = 5000; //Antwortzeit axios.defaults.headers.post['Content-Type'] = 'application/json; charset=UTF-8'; //Anforderungsheader konfigurieren axios.defaults.withCredentials= true; //Mit Cookie
axios.defaults.baseURL = 'http://localhost:8080/'; //Schnittstellenadresse konfigurieren //POST-Parameterserialisierung (Anforderungs-Interceptor hinzufügen)
axios.interceptors.request.use((Konfiguration) => {
	//Sie können hier je nach Backend Serialisierungscode hinzufügen. Das von mir verwendete SSM-Backend akzeptiert JSON-Objekte. Wenn eine Serialisierung erforderlich ist, können Sie die qs-Komponente return config verwenden;
},(Fehler) =>{
    console.log('falsche Parameterübergabe')
    returniere Promise.reject(Fehler);
});

//Statusbeurteilung zurückgeben (Antwort-Interceptor hinzufügen)
axios.interceptors.response.use((res) => {
    //Etwas mit den Antwortdaten machen if (!res.data.success) {
        gibt Promise.resolve(res) zurück;
    }
    Rückgabewert;
}, (Fehler) => {
    console.log('Netzwerkanomalie')
    returniere Promise.reject(Fehler);
});

//Ein Versprechen zurückgeben (eine Post-Anfrage senden)
Exportfunktion fetchPost(URL, Parameter) {
    returniere neues Promise((lösen, ablehnen) => {
        axios.post(URL, Parameter)
            .dann(Antwort => {
                Lösung (Antwort);
            }, err => {
                ablehnen(fehler);
            })
            .catch((Fehler) => {
                ablehnen(Fehler)
            })
    })
}
Gibt ein Promise zurück (sendet eine Get-Anfrage)
Exportfunktion fetchGet(URL, Param) {
    returniere neues Promise((lösen, ablehnen) => {
        axios.get(url, {params: param})
            .dann(Antwort => {
                Lösung (Antwort)
            }, err => {
                ablehnen (Fehler)
            })
            .catch((Fehler) => {
                ablehnen(Fehler)
            })
    })
}
Standard exportieren {
    Beitrag abrufen,
    holenGet,
}

Einfacher Test:

loginPost: Funktion() {
		let Parameter = {
			'Passwort': '123',
			'Benutzername': 'Administrator'
		}
		http.fetchPost('/login', params).then((data) => {
			console.log(Daten)
		}).catch(err => {
			console.log(fehler)
		})
	},
hallo: function() {
		http.fetchGet('/hallo', "").then((data) => {
			console.log(Daten)
		}).catch(err => {
			console.log(fehler)
		})
	},

Anfrage posten:

Anfrage erhalten:

Domänenübergreifendes Problem, hier ist die Konfiguration auf dem Backend:

Konfigurieren Sie Cross-Domain in SpringMVC.xml:

<!-- Domänenübergreifende Schnittstellenkonfiguration -->
    <mvc:cors>
        <!-- allowed-methods="*" --> <!-- bedeutet, dass alle Anfragen gültig sind -->
        <mvc:Mapping-Pfad="/**" allowed-origins="*"
                     erlaubte Methoden="POST, GET, OPTIONEN, LÖSCHEN, PUT"
                     allowed-headers="Inhaltstyp, Zugriffskontrolle-Header zulassen, Autorisierung, X-Angefordert-Mit"
                     allow-credentials="true"/>
    </mvc:cors><!-- Domänenübergreifende Schnittstellenkonfiguration-->

Schnittstellenkonfiguration:

In Vue konfigurieren Erstellen Sie eine vue.config.js:

modul.exporte = {
  devServer: {
    Proxy: {
        '/api': {
            Ziel: 'http://127.0.0.1:8080',
            // Ein virtueller Server wird lokal erstellt und dann werden die angeforderten Daten gleichzeitig gesendet und empfangen, sodass es bei der Interaktion zwischen Server und Server keine domänenübergreifenden Probleme gibt. changeOrigin: true, 
            ws: wahr,
            PfadNeu schreiben: {
                '^/api': '' 
                // Ersetzen Sie die Anforderungsadresse im Ziel, d. h. wenn Sie in Zukunft die Adresse http://api.jisuapi.com/XXXXX anfordern, schreiben Sie einfach /api}
        }
    }
  }
}

Das Backend kann auch normal Cookies abrufen.

Beachten Sie natürlich die folgende Konfiguration, dies ist der Grund für das Cookie

axios.defaults.withCredentials = wahr;

Zusammenfassen

Dies ist das Ende dieses Artikels zum einfachen Einkapseln von Axios in Vue. Weitere relevante Inhalte zur Vue-Einkapselung von Axios 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:
  • Detailliertes Beispiel für die Verwendung von Typescript zum Einkapseln von Axios in Vue3
  • So kapseln Sie Axios in Vue
  • So kapseln Sie Axios-Anfragen mit Vue
  • Mehrere Möglichkeiten, Axios in Vue zu kapseln
  • Detaillierte Erklärung der AXIOS-Kapselung in Vue

<<:  So fügen Sie einen Wert mit einfachen Anführungszeichen oder Backslashes in MySQL-Anweisungen ein

>>:  Tutorial zur Installation von MYSQL8.X auf Centos

Artikel empfehlen

jQuery klickt auf den Liebeseffekt

In diesem Artikel wird der spezifische Code des j...

So mounten Sie die CD, um das RPM-Paket unter Linux zu finden

Vorne geschrieben Manchmal müssen Sie bei der Ver...

Schriftreferenzen und Übergangseffekte außerhalb des Systems

Code kopieren Der Code lautet wie folgt: <span...

Eine kurze Erläuterung der vier häufig verwendeten Speicher-Engines in MySQL

Einführung in vier häufig verwendete MySQL-Engine...

Implementierung der HTML-Befehlszeilenschnittstelle

HTML-Teil Code kopieren Der Code lautet wie folgt:...

MySQL-Rekursionsproblem

MySQL selbst unterstützt keine rekursive Syntax, ...

Einführung in Docker-Container

Docker-Übersicht Docker ist eine Open-Source-Lösu...

MySQL verwendet Ereignisse, um geplante Aufgaben abzuschließen

Ereignisse können die Ausführung von SQL-Code ein...

FTP-Remoteverbindung zu Linux über SSH

Installieren Sie zunächst SSH in Linux. Nehmen Si...

MySQL-Cursorfunktionen und -Verwendung

Inhaltsverzeichnis Definition Die Rolle des Curso...

Detaillierte Fehlerbehebung bei Docker.service-Startfehlern

Führen Sie den folgenden Befehl aus, um einen Feh...

Detaillierte Erklärung des VueRouter-Routings

Inhaltsverzeichnis Vue-Router 1. Verstehen Sie da...