fetch ist eine moderne API für HTTP-Anfragen.
fetch(url, options)
fetch("https://jsonplaceholder.typicode.com/posts")
.then(response => response.json())
.then(data => console.log(data));
Ohne Options-Objekt wird automatisch ein GET-Request gesendet.
async function loadPosts() {
const response = await fetch("https://jsonplaceholder.typicode.com/posts");
const data = await response.json();
console.log(data);
}
if (!response.ok) {
throw new Error("Fehler: " + response.status);
}
ok ist true bei Statuscodes 200–299.
async function loadData() {
try {
const response = await fetch(url);
if (!response.ok) {
throw new Error("HTTP-Fehler");
}
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
}
| GET | Daten laden |
| POST | Daten senden |
| PUT / PATCH | Daten ändern |
| DELETE | Daten löschen |
POST wird verwendet, um neue Daten an einen Server zu senden.
Dazu werden Options benötigt.
fetch(url, {
method: "POST"
});
fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json"
}
});
Header beschreiben, wie der Request interpretiert werden soll.
fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
title: "Neuer Eintrag",
completed: false
})
});
async function createTodo() {
const response = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
title: "Mein Todo",
completed: false
})
});
const data = await response.json();
console.log(data);
}
fetch(url, {
method: "POST",
headers: { ... },
body: JSON.stringify(data)
});