fetch() делает HTTP‑запросы. Важно обрабатывать .then() или async/await и ошибки.
<div id="apiResult">Загрузка...</div>
<script>
// Эмуляция запроса — в реальном проекте будет реальный URL
fetch("/api/courses.json")
.then(r => r.ok ? r.json() : Promise.reject("Ошибка"))
.then(data => document.getElementById("apiResult").textContent = JSON.stringify(data))
.catch(err => document.getElementById("apiResult").textContent = "Ошибка: " + err);
</script>