Native Netzwerkanforderungsschema von Vue und Netzwerkanforderungsbibliothek von JS

Native Netzwerkanforderungsschema von Vue und Netzwerkanforderungsbibliothek von JS

1. Native Netzwerkanforderung

1. XMLHttpRequest (W3C-Standard)

// Das Produkt, wenn es kein Versprechen gibt

Damals wurde alles zurückgerufen, was zu umständlich war.

2. Holen

// Von HTML5 bereitgestelltes Objekt, basierend auf Promise. Aufgrund der Existenz von Promise wird es verwendet, um Netzwerkanforderungen zu vereinfachen.

Verwenden von Fetch – Web-API-Referenz | MDN

Fetch ist eine neue Ajax-Lösung. Fetch gibt ein Promise-Objekt zurück. Fetch ist keine weitere Kapselung von Ajax, sondern natives JS und verwendet nicht das XMLHttpRequest-Objekt.

Parameter:

1. Der erste Parameter ist die URL:

2. Der zweite Parameter der Einstellungsanforderung ist ein optionaler Parameter

3. Rückgabe mit Promise zur Verarbeitung von Ergebnissen/Rückrufen

fetch(URL, Optionen).dann(res=>res.json()/text()).dann(ret=>console.log(ret))

Kompatibilitätsprobleme:

Was soll ich tun, wenn die niedrigere IE-Version nicht mit Fetch kompatibel ist? =》Verwenden Sie die Fetch-Bibliothek eines Drittanbieters [fetch-polyfill]

Verwenden Sie fetch, um eine Netzwerkanforderung zu stellen. Lassen Sie url1 url2 beide Adressen gleichzeitig ausführen, bevor verwandte Vorgänge ausgeführt werden. Promise.all

let url1 Ich muss Promise.finally verarbeiten, unabhängig davon, ob es erfolgreich ausgeführt wird

fetch kapselt Netzwerkanfragen

2. js Netzwerkanforderungsbibliothek

Achsen

Gibt JSON-Daten als Promise-Typ zurück.

Dokumentation: Anleitungen · Axios Chinesische Anleitungen · Kanyun

Axios ist eine auf Versprechen basierende HTTP-Bibliothek, die in Browsern und node.js verwendet werden kann.

Kann Anfragen und Antworten abfangen und JSON-Daten automatisch konvertieren. Axios ist auch die vom Vue-Autor empfohlene Netzwerkanforderungsbibliothek.

// axios.get/post/put/delete
axios.get(url,config) // config kann Header-Informationen festlegen axios.post(url,data,config)
axios.put(URL,Daten,Konfiguration)
axios.delete(URL,Daten,Konfiguration) 

Oder Anfrage per Instanz

Einstellungsinformationen (allgemein) über Instanzanfrage hinzufügen!

Legen Sie es nicht einheitlich für alle Instanzen fest (wird nicht häufig verwendet), da es für alle festgelegt ist

// Setze axios.defaults.timeout = 10000 für Axios
axios.defaults.baseURL = "http://localhost:3000"
axios.defaults.headers.a = "Administrator"

postenAbsenden

// Beitragsübermittlung axios.post(url, { id: 1, name: 'aaaa' }).then(res => console.log(res.data))

Oder Axios verwendet direkt # Standardschrift (nicht allgemein gebräuchlich)

// axios verwendet direkt axios({
  URL (URL = URL = URL),
  Methode: 'get',
  Daten:{}
}).dann(res => console.log(res))

Interceptor-Aspekt-Programmierung

(Pipeline) (Middleware)

1. Interceptor anfordern (kann mehrfach aufgerufen werden)

axios.interceptors.request.use(Konfiguration => {
  // Einheitliche Einstellung der Anforderungsdomänennamenadresse config.baseURL = 'http://localhost:3000'
  // Zeitüberschreitung config.timeout = 1000
  // Header-Informationen festlegen config.headers.token = 'mytoken login'
  Konfiguration zurückgeben;
}, err => Promise.reject(err))

2. Antwort-Interceptor (Verarbeitung, Filterung)

axios.interceptors.response.use(Antwort => {
  Antwortdaten zurückgeben
}, err => {
  // Dies kann einheitlich im Antwort-Interceptor behandelt werden, Ausnahmewarnung für Anforderungen („Anforderung fehlgeschlagen, bitte erneut anfordern“)
  returniere Promise.reject(err)
});

Oben sind die Details der nativen Netzwerkanforderungs- und JS-Netzwerkanforderungsbibliothek der Netzwerkanforderungslösung aufgeführt. Weitere Informationen zu nativen Netzwerkanforderungen und der JS-Netzwerkanforderungsbibliothek finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • 3 gängige Methoden zum domänenübergreifenden Anfordern von Daten in JS
  • Verpacken und Füllen der Lücken in Netzwerkanforderungen des WeChat-Applets
  • Beispielcode für die Kapselung der Axios-Anforderungsnetzwerkschnittstelle im Vue-Projekt
  • Detaillierte Erklärung zum Senden von Ajax-Anfragen durch Vue
  • Eine kurze Diskussion über die praktische Anwendung von Interceptors für Vue-Netzwerkanforderungen
  • Drei Möglichkeiten zum Anfordern von Daten in Vue

<<:  MySQL Series 11-Protokollierung

>>:  Beispielcode zum Konvertieren von HTML-Tabellendaten in das JSON-Format

Artikel empfehlen

Detaillierte Erklärung unsichtbarer Indizes in MySQL 8.0

Wort Seit der ersten Version von MySQL 8.0 liegen...

js, um eine einfache Lotteriefunktion zu erreichen

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

Grundlegende Hinweise zu HTML und CSS (unbedingt für das Frontend lesen)

Als ich zum ersten Mal mit HTML in Berührung kam,...

Tutorial zur Installation von PHP auf CentOS über Yum

Lassen Sie mich zunächst vorstellen, wie Sie PHP ...

JavaScript zum Erzielen eines einfachen Countdown-Effekts

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierte Erklärung der CSS-Textdekoration Textdekoration & Texthervorhebung

In CSS ist Text eines der häufigsten Dinge, mit d...

Ein Beispiel, wie JavaScript doppelte Netzwerkanforderungen verhindern kann

Vorwort Während der Entwicklung stoßen wir häufig...

Mini-Programm implementiert Listen-Countdown-Funktion

In diesem Artikelbeispiel wird der spezifische Co...

So deaktivieren Sie die Klartextanzeige und die Schnelllöschfunktion von IE10

IE10 bietet eine Schaltfläche zum schnellen Lösche...