Führen Sie Ajax-Anrufe ohne jQuery durch

Habdul Hazeez 15 Februar 2024
  1. So tätigen Sie einen Ajax-Anruf mit XMLHttpRequest in JavaScript
  2. So tätigen Sie einen Ajax-Anruf mit der Fetch-API in JavaScript
Führen Sie Ajax-Anrufe ohne jQuery durch

In diesem Tutorial erfahren Sie, wie Sie einen AJAX-Aufruf in JavaScript durchführen, ohne dass eine externe Bibliothek erforderlich ist. Deshalb werden wir Ihnen Folgendes beibringen.

  1. So tätigen Sie einen AJAX-Aufruf mit XMLHttpRequest
  2. Wie man einen AJAX-Aufruf mit der Fetch-API durchführt

So tätigen Sie einen Ajax-Anruf mit XMLHttpRequest in JavaScript

Der XMLHttpRequest ist ein Objekt in JavaScript, mit dem Sie einen AJAX-Aufruf tätigen können. Möglich wird dies durch eine Reihe von Methoden.

Zu diesen Methoden gehören:

  1. XMLHTTPRequest.onreadystatechange()
  2. XMLHTTPRequest.readyState
  3. XMLHTTPRequest.status()
  4. XMLHTTPRequest.open()
  5. XMLHTTPRequest.send()

Wenn diese Methoden richtig kombiniert werden, können Sie einen AJAX-Aufruf tätigen. Außerdem geben Ihnen die Objektnamen eine Vorstellung davon, was sie tun.

Zum Beispiel sendet XMLHTTPRequest.send() den AJAX-Aufruf, wenn Sie bereit sind. Das Folgende ist ein typischer Algorithmus für die Verwendung von XMLHttpRequest für einen AJAX-Aufruf.

  1. Erstellen Sie ein neues XMLHTTPRequest-Objekt

  2. Hängen Sie eine Funktion an XMLHTTPRequest.onreadystatechange() an

    2.1 Die Funktion prüft, ob XMLHTTPRequest.readyState DONE zurückgibt
    2.2 Prüfen Sie XMLHTTPRequest.status() und handeln Sie entsprechend

  3. Öffnen Sie die AJAX-Verbindung

    3.1 In diesem Teil geben Sie an, ob die Verbindung eine GET- oder POST-Anfrage sein soll.

  4. Senden Sie den AJAX-Aufruf

Je nachdem, was Sie erreichen möchten, haben Sie möglicherweise einen längeren Algorithmus. Für unser als nächstes beschriebenes Beispiel erfüllt der Algorithmus jedoch unseren Zweck.

Der Benutzer kann einen AJAX-Aufruf initiieren, indem er im Beispiel auf die HTML-Schaltfläche klickt. Der Aufruf ersetzt den Inhalt des Elements <main>.

<head>
	<meta charset="utf-8">
	<title>Plain AJAX Request</title>
	<style>
		body {
			display: grid;
			justify-content: center;
			align-items: center;
			height: 100vh;
		}

		button {
			padding: 1.2em;
			background-color: #1a1a1a;
			color: #ffffff;
			border: none;
			cursor: pointer;
		}
	</style>
</head>
<body>
	<main id="button_container">
		<button type="button"  onclick="load_ajax_button()">CLICK ME</button>
	</main>
	<script>
		function load_ajax_button() {
			const xhttp = new XMLHttpRequest();
			xhttp.onload = function() {
				let button_container = document.getElementById("button_container")
				button_container.innerHTML = this.responseText;
			}
			xhttp.open("GET", "ajax-button.html", true);
			xhttp.send();
		}
	</script>
</body>

Ausgang:

Ajax-Anfrage mit XMLHttpRequest

So tätigen Sie einen Ajax-Anruf mit der Fetch-API in JavaScript

Die Fetch-API ist eine integrierte Funktion moderner Webbrowser, mit der Sie AJAX-Aufrufe tätigen können. Darüber hinaus können Sie die Fetch-API als moderne Version von XMLHttpRequest betrachten.

In unserem Code unten rufen wir beispielsweise jedes Mal, wenn Sie auf die Schaltfläche HTML klicken, ein zufälliges Bild von der API Picsum ab. In der Zwischenzeit funktioniert der Prozess wie folgt.

  1. Klicken Sie auf die Schaltfläche HTML, um die Fetch-Anforderung an die Picsum-API zu initiieren.
  2. Wir holen uns die url-Eigenschaft aus der Picsum-API-Antwort. Das liegt daran, dass die url die Adresse des Zufallsbildes enthält.
  3. Verwenden Sie als Bildquelle die Adresse aus der Picsum-API.
  4. Daher erhalten Sie jedes Mal, wenn Sie auf die Schaltfläche HTML klicken, ein neues zufälliges Bild.
<head>
	<meta charset="utf-8">
	<title>Fetch API</title>
	<style>
		main {
			text-align: center;
			margin: 0 auto;
			max-width: 800px;
		}

		img {
			max-width: 100%;
			display: inline-block;
		}

		button {
			margin-top: 20px;
		}
	</style>
</head>
<body>
	<main>
		<h2>A Simple Fetch API Example</h2>
		<div class="img-container">
			<img src="" id="random_image" width="300" height="300">
		</div>
		<button>Click Me for a Random Image</button>
	</main>

	<script>
		let button = document.querySelector('button');

		button.addEventListener('click', function () {
			fetch('https://picsum.photos/200/300')
			.then((response) => {
				return response;
			})
			.then((image_source) => {
				random_image.src = image_source['url'];
			});
		}, false);
	</script>
</body>

Ausgang:

Ajax mit der Fetch-API

Habdul Hazeez avatar Habdul Hazeez avatar

Habdul Hazeez is a technical writer with amazing research skills. He can connect the dots, and make sense of data that are scattered across different media.

LinkedIn

Verwandter Artikel - JavaScript Ajax