So implementieren Sie asynchrone synchrone Anforderungen in AJAX
In diesem Tutorial geht es um die Implementierung asynchroner und synchroner Anforderungen in AJAX. Wir wissen, dass die Implementierung des FormData-Typs und der Ereignisüberwachungsschnittstelle AJAX erfordert. Gibt es also eine Möglichkeit, den Server nur dann anzufordern, wenn sich die Seitendaten ändern? die auf der Seite angezeigten Daten dynamisch durch neue Daten ersetzen und gleichzeitig verhindern, dass die Seite aktualisiert wird? Lassen Sie uns heute über das Konzept von AJAX sprechen.
XMLHttpRequest-Objekt
XMLHttpRequest ist nur ein JavaScript-Objekt, um genau zu sein, es ist ein Konstruktor. Mit anderen Worten, es ist überhaupt nicht mysteriös, das einzige Besondere daran ist, dass es vom Client (d. h. vom Browser) bereitgestellt wird (und nicht nativ in JavaScript ist). Darüber hinaus verfügt es über Eigenschaften, Methoden usw erfordert die Instanziierung über das neue Schlüsselwort. Wir müssen sie nur beherrschen Woher stammen die Daten? Woher wissen wir, wie wir diese Daten erhalten? Die Antwort ist, dass wir normalerweise APIs verwenden, um mit verschiedenen Datenbanken zu interagieren.
„API“ ist die Abkürzung für „Application Programming Interface“ (d. h.: Application Programming Interface). Sie können sich vorstellen, dass einige Daten offen sind und darauf warten, verwendet zu werden, und die Art und Weise, wie wir diese Daten erhalten, ist die Verwendung die API. Die übliche Form einer API ist eine URL und stellt bestimmte Parameternamen und Parameterwerte bereit, um Ihnen beim Auffinden der Daten zu helfen, die Sie erhalten möchten.
XMLHttpRequest - Anfrage vorbereiten
Um mit dem Server zu interagieren, müssen Sie zunächst über die folgenden Fragen nachdenken:
Wollen wir Daten abrufen oder Daten speichern? ——Die Anfragemethode ist „GET“ oder „POST“. Wohin soll die Anfrage gesendet werden? – Das heißt, die entsprechende API-Adresse. - Es gibt zwei Optionen: „synchron“ und „asynchron“
Die .open()-Methode der XMLHttpRequest-Instanz wird zur Beantwortung der oben genannten drei Fragen verwendet. Die .open()-Methode empfängt drei Parameter: Anfragemethode, Anfrage-URL-Adresse und einen booleschen Wert, der angibt, ob es sich um eine asynchrone Anfrage handelt.
Das Folgende ist ein Beispiel für den Aufruf der .open()-Methode:
// Dieser Code initiiert eine synchrone GET-Anfrage für „example.php“.
xhr.open("get", "example.php", false)
// "DELETE", "HEAD", "OPTONS", "PUT" kann auch als verwendet werden open( ) erster Parameter der Methode.
Im obigen Code wird die Synchronisierung erreicht, indem der dritte Parameter als falsch übergeben wird. Es ist zu beachten, dass die send()-Methode, sobald sie auf synchron gesetzt ist, blockiert, bis die Anforderung abgeschlossen ist.
(3) Synchrone Anfragen und asynchrone Anfragen
Die Leute denken normalerweise, dass AJAX asynchron ist, aber in Wirklichkeit ist es keine Technologie, um die Aktualisierung der Seite nach dem Abrufen der Daten zu vermeiden zum Warten auf den Server Unabhängig davon, ob die Antwortmethode synchron oder asynchron ist, müssen Entwickler sie entsprechend den Geschäftsanforderungen konfigurieren (obwohl sie normalerweise asynchron ist).
Sie fragen sich vielleicht, wann wir synchrones AJAX verwenden müssen? Aus meiner persönlichen Erfahrung scheint es schwierig zu sein, die entsprechende Szene zu finden.
Abschließend erklären wir kurz den Unterschied zwischen „synchronem“ Warten auf eine Antwort und „asynchronem“ Warten auf eine Antwort: „Synchron“ bedeutet, dass nach dem Senden der Anfrage kein nachfolgender JavaScript-Code ausgeführt wird. während „asynchron“ bedeutet, dass beim Senden der Anfrage der nachfolgende JavaScript-Code weiterhin ausgeführt wird. Wenn die Anfrage erfolgreich ist, wird die entsprechende
Rückruffunktionaufgerufen.
XMLHttpRequest Level 2 FormData-Typ Das W3C hat die XMLHttpRequest Level 2-Spezifikation vorgeschlagen. Obwohl nicht alle Browser den in der Spezifikation angegebenen Inhalt implementiert haben, gibt es dennoch einige Inhalte, die vollständig oder implementiert sind von den meisten Browsern.
FormData-Typ
FormData ist ein neuer
Datentyp(Konstruktor), der uns von XMLHttpRequest Level 2 bereitgestellt wird. Denken Sie auch daran, wie man eine
POST-Anfrage Für ein Formular einreichen? FormData erleichtert diesen Prozess, da das XHR2-Objekt erkennt, dass der übergebene Datentyp eine Instanz von FormData ist, und automatisch die entsprechenden Header-Informationen konfiguriert.Wie kann man eine POST-Anfrage als Formularübermittlung tarnen? Wenn Sie die POST-Methode verwenden, um Formulardaten in dieser Reihenfolge zu übermitteln, muss der Anforderungsheader „Content-Type“ auf diesen Wert gesetzt werden.
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');Hinweis: Dies ist kein erforderlicher Wert bei der Verwendung von Formularen, da dies der Standardwert ist Verfahren. FormData wird wie folgt verwendet:Darüber hinaus besteht ein weiterer Vorteil von FormData darin, dass es uns im Vergleich zu herkömmlichen AJAX-Anfragen das Hochladen von Binärdaten (Bilder, Videos, Audio, usw.).
Browserkompatibilität für FormData.
// 添加数据 let data1 = new FormData() data1.append("name", "Tom") xhr.send(data1) // 提取表单数据 let data2 = new FormData(document.forms[0]) xhr.send(data2)
Die erste Version von XMLHttpRequest kann nur eine Rückruffunktion für das onreadystatechange-Ereignis angeben. Das Ereignis reagiert auf alle Situationen.
Die zweite Version von XMLHttpRequest ermöglicht die Angabe von Rückruffunktionen für weitere Ereignisse.
onloadstart Anfrage ausgegeben
onprogress Senden und Laden von Daten
onabort Die Anfrage wurde abgebrochen, zum Beispiel hat der Benutzer die abort()-Methode
onerror aufgerufen Anfrage fehlgeschlagen
onload Die Anfrage wurde erfolgreich abgeschlossen
ontimeout Das vom Benutzer angegebene Zeitlimit ist abgelaufen und die Anfrage wurde nicht abgeschlossen
onloadend Die Anfrage wurde unabhängig davon abgeschlossen das Ergebnis oder der Misserfolg
Ich glaube, dass Sie die Methoden beherrschen, nachdem Sie diese Fälle gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!
Verwandte Lektüre:
Zusammenfassung und Verwendungserklärung des Front-End-JS-Frameworks
So lösen Sie das Ajax-Problem Einheit beim Parsen von JSON-Daten In Form von Sekunden
Schritte zum Implementieren des Datei-Uploads mit js und Servlet in h5
Das obige ist der detaillierte Inhalt vonSo implementieren Sie asynchrone synchrone Anforderungen in AJAX. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Wenn Sie feststellen, dass ein oder mehrere Elemente in Ihrem Synchronisierungsordner nicht mit der Fehlermeldung in Outlook übereinstimmen, kann dies daran liegen, dass Sie Besprechungselemente aktualisiert oder abgesagt haben. In diesem Fall wird eine Fehlermeldung angezeigt, die besagt, dass Ihre lokale Version der Daten mit der Remote-Kopie in Konflikt steht. Diese Situation tritt normalerweise in der Outlook-Desktopanwendung auf. Ein oder mehrere Elemente in dem von Ihnen synchronisierten Ordner stimmen nicht überein. Um den Konflikt zu lösen, öffnen Sie die Projekte und versuchen Sie den Vorgang erneut. Fix Ein oder mehrere Elemente in synchronisierten Ordnern stimmen nicht mit dem Outlook-Fehler überein. In der Outlook-Desktopversion können Probleme auftreten, wenn lokale Kalenderelemente mit der Serverkopie in Konflikt stehen. Glücklicherweise gibt es jedoch einige einfache Möglichkeiten, um zu helfen

Titel: Methoden und Codebeispiele zur Behebung von 403-Fehlern in jQuery-AJAX-Anfragen. Der 403-Fehler bezieht sich auf eine Anfrage, dass der Server den Zugriff auf eine Ressource verbietet. Dieser Fehler tritt normalerweise auf, weil der Anfrage die Berechtigungen fehlen oder sie vom Server abgelehnt wird. Wenn Sie jQueryAJAX-Anfragen stellen, stoßen Sie manchmal auf diese Situation. In diesem Artikel wird erläutert, wie dieses Problem gelöst werden kann, und es werden Codebeispiele bereitgestellt. Lösung: Berechtigungen prüfen: Stellen Sie zunächst sicher, dass die angeforderte URL-Adresse korrekt ist und stellen Sie sicher, dass Sie über ausreichende Berechtigungen für den Zugriff auf die Ressource verfügen.

jQuery ist eine beliebte JavaScript-Bibliothek zur Vereinfachung der clientseitigen Entwicklung. AJAX ist eine Technologie, die asynchrone Anfragen sendet und mit dem Server interagiert, ohne die gesamte Webseite neu zu laden. Wenn Sie jedoch jQuery zum Senden von AJAX-Anfragen verwenden, treten manchmal 403-Fehler auf. Bei 403-Fehlern handelt es sich in der Regel um vom Server verweigerte Zugriffsfehler, möglicherweise aufgrund von Sicherheitsrichtlinien oder Berechtigungsproblemen. In diesem Artikel besprechen wir, wie Sie bei einer jQueryAJAX-Anfrage den Fehler 403 beheben können

Wie kann das Problem des jQueryAJAX-Fehlers 403 gelöst werden? Bei der Entwicklung von Webanwendungen wird jQuery häufig zum Senden asynchroner Anfragen verwendet. Allerdings kann bei der Verwendung von jQueryAJAX manchmal der Fehlercode 403 auftreten, der darauf hinweist, dass der Zugriff vom Server verboten ist. Dies wird normalerweise durch serverseitige Sicherheitseinstellungen verursacht, es gibt jedoch Möglichkeiten, das Problem zu beheben. In diesem Artikel wird erläutert, wie Sie das Problem des jQueryAJAX-Fehlers 403 lösen können, und es werden spezifische Codebeispiele bereitgestellt. 1. machen

Die Verwendung von Ajax zum Abrufen von Variablen aus PHP-Methoden ist ein häufiges Szenario in der Webentwicklung. Durch Ajax kann die Seite dynamisch abgerufen werden, ohne dass die Daten aktualisiert werden müssen. In diesem Artikel stellen wir vor, wie man Ajax verwendet, um Variablen aus PHP-Methoden abzurufen, und stellen spezifische Codebeispiele bereit. Zuerst müssen wir eine PHP-Datei schreiben, um die Ajax-Anfrage zu verarbeiten und die erforderlichen Variablen zurückzugeben. Hier ist ein Beispielcode für eine einfache PHP-Datei getData.php:

Erstellen Sie eine Engine für Autovervollständigungsvorschläge mit PHP und Ajax: Serverseitiges Skript: Verarbeitet Ajax-Anfragen und gibt Vorschläge zurück (autocomplete.php). Client-Skript: Ajax-Anfrage senden und Vorschläge anzeigen (autocomplete.js). Praktischer Fall: Fügen Sie ein Skript in die HTML-Seite ein und geben Sie die Kennung des Sucheingabeelements an.

Ajax (Asynchronous JavaScript and XML) ermöglicht das Hinzufügen dynamischer Inhalte, ohne die Seite neu laden zu müssen. Mit PHP und Ajax können Sie eine Produktliste dynamisch laden: HTML erstellt eine Seite mit einem Containerelement und die Ajax-Anfrage fügt die Daten nach dem Laden zum Element hinzu. JavaScript verwendet Ajax, um über XMLHttpRequest eine Anfrage an den Server zu senden, um Produktdaten im JSON-Format vom Server abzurufen. PHP nutzt MySQL, um Produktdaten aus der Datenbank abzufragen und in das JSON-Format zu kodieren. JavaScript analysiert die JSON-Daten und zeigt sie im Seitencontainer an. Durch Klicken auf die Schaltfläche wird eine Ajax-Anfrage zum Laden der Produktliste ausgelöst.

Gleichzeitige und asynchrone Programmierung Bei der gleichzeitigen Programmierung geht es um die gleichzeitige Ausführung mehrerer Aufgaben. Bei der asynchronen Programmierung handelt es sich um eine Art der gleichzeitigen Programmierung, bei der Aufgaben keine Threads blockieren. asyncio ist eine Bibliothek für die asynchrone Programmierung in Python, die es Programmen ermöglicht, I/O-Vorgänge auszuführen, ohne den Hauptthread zu blockieren. Ereignisschleife Der Kern von Asyncio ist die Ereignisschleife, die I/O-Ereignisse überwacht und entsprechende Aufgaben plant. Wenn eine Coroutine bereit ist, wird sie von der Ereignisschleife ausgeführt, bis sie auf E/A-Operationen wartet. Anschließend wird die Coroutine angehalten und die Ausführung anderer Coroutinen fortgesetzt. Coroutinen Coroutinen sind Funktionen, die die Ausführung anhalten und fortsetzen können. Das Schlüsselwort asyncdef wird zum Erstellen von Coroutinen verwendet. Die Coroutine verwendet das Schlüsselwort „await“, um auf den Abschluss des E/A-Vorgangs zu warten. Die folgenden Grundlagen von Asyncio
