30 lines
1.2 KiB
JavaScript
30 lines
1.2 KiB
JavaScript
const getTodos = (callback) => { // im Fall, dass das Request erfolreich abgeschlossen ist (DONE Status (4)) und dass das Request den Status-Code 200 hat, gib die callback Methode
|
|
// Daten im Art des JSON Objectes zurück (JSON.parse(request.responseText)), andernfalls gib sie den Fehler zurück
|
|
|
|
const request = new XMLHttpRequest(); // Erstellung eines XML HTTP Requests
|
|
|
|
request.addEventListener("readystatechange", () => {
|
|
// console.log(request, request.readyState);
|
|
if (request.readyState === 4 && request.status === 200) {
|
|
const data = JSON.parse(request.responseText)
|
|
callback(undefined, data);
|
|
// console.log(request, request.responseText);
|
|
} else if (request.readyState === 4) {
|
|
callback("could not fetch the data", undefined);
|
|
}
|
|
});
|
|
|
|
// request.open("GET", "https://jsonplaceholder.typicode.com/todos/"); // fördert Daten von jsonplaceholder API
|
|
request.open("GET", "todos.json"); // fördert Daten von der localen JSON Datei
|
|
request.send()
|
|
}
|
|
|
|
getTodos((err, data) => {
|
|
console.log("callback fired");
|
|
if (err) {
|
|
console.log(err);
|
|
} else {
|
|
console.log(data);
|
|
}
|
|
});
|