%Schriftgröße, Layout, Papierformat, Art des Dokumentes
\documentclass[10pt,oneside,a4paper]{scrartcl}

%Einstellungen der Seitenränder
\usepackage[left=2cm,right=2cm,top=1.5cm,bottom=1.5cm,includeheadfoot]{geometry}

%neue Rechtschreibung
\usepackage[ngerman]{babel}

%Umlaute ermöglichen
\usepackage[utf8]{inputenc}

%Gesamtseitenzahl
\usepackage{lastpage}

% Kopf- und Fußzeile
\usepackage[automark]{scrpage2}

%Quellcode-Listings
\usepackage{listings}

%Hyperlinks
\usepackage{hyperref}

% Mehrere Spalten
\usepackage{multicol}



%Kopfzeile
\ihead{JavaScript}
\chead{}
\ohead{https://kohnlehome.de/html/fetch.pdf}
\setheadsepline{0.5pt}

%Fußzeile
\setfootsepline{0.5pt}
\ifoot{Franz Kohnle}
\cfoot{Seite \thepage\ von  \pageref{LastPage}}
\ofoot{\today}

\pagestyle{scrheadings}

\begin{document}

% Überschrift 
\begin{center}
  \LARGE % Schriftgröße
  \bfseries % Fettdruck
  \sffamily % Serifenlose Schrift
  JavaScript Fetch API
\end{center}


Quelle: \href{https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch}{MDN: Using Fetch}

\section*{Basic Fetch Request}
\begin{verbatim}
const url = 'https://api.github.com/users/meisterk';
fetch(url)
  .then(response => response.json())
  .then(data => console.log(data));
\end{verbatim}

\section*{Fehlerbehandlung}
\begin{verbatim}
const url = 'https://api.github.com/users/meisterk';
fetch(url)
  .then(response => {
    if (!response.ok) {
      console.log('Netzwerkantwort nicht OK');
    }
    return response.json();
  })
  .then(data => {
    // Alles OK. Daten verwenden.
    console.log(data);
  })
  .catch(error => {
    console.log('Sonstiger Fehler: ', error);
  });
\end{verbatim}

\section*{POST}
\begin{verbatim}
const data = { username: 'example' };

fetch('https://example.com/profile', {
  method: 'POST', // or 'PUT'
  headers: {
    'Content-Type': 'application/json',
  },
  body: JSON.stringify(data),
})
.then(response => response.json())
.then(data => {
  console.log('Success:', data);
})
.catch((error) => {
  console.error('Error:', error);
});  
\end{verbatim}


\end{document}
