Send asynchronous browser requests with fetch, XMLHttpRequest, JSON, errors, and progressive UI.
Lessons
Choose and parse the right response format.
Data Formats: JSON, XML, Text is easiest to learn by reading the example, changing it, and observing the result.
const res = await fetch('/api/data');
const ct = res.headers.get('Content-Type') || '';
if (ct.includes('application/json')) {
console.log(await res.json());
} else if (ct.includes('xml')) {
const text = await res.text();
console.log(new DOMParser().parseFromString(text, 'application/xml'));
} else {
console.log(await res.text());
}Practice the Data Formats: JSON, XML, Text example in a small scratch file, then explain what changed and why.