Skip to content

Day 5: POST Requests, Loading States & Week 8 Mini-Project

Send data via HTTP POST, handle loading and error states in UI, and build the Weather / Pokédex App.

1. Managing UI States (Loading, Error, Success)

Section titled “1. Managing UI States (Loading, Error, Success)”
async function searchData() {
const loader = document.querySelector('#spinner');
loader.classList.remove('hidden'); // Show loading
try {
const res = await fetch('https://api.open-meteo.com/v1/forecast?latitude=40.4168&longitude=-3.7038&current_weather=true');
const data = await res.json();
renderWeather(data);
} catch (err) {
showErrorAlert(err.message);
} finally {
loader.classList.add('hidden'); // Hide loading
}
}

Week 8 Mini-Project: Weather or Pokédex App

Section titled “Week 8 Mini-Project: Weather or Pokédex App”

Project Requirements:

  1. Connect to a free public API (e.g., Open-Meteo or PokéAPI).
  2. An input field for searching by city name or Pokémon name.
  3. Render a loading spinner or indicator during fetch operations.
  4. Render data in responsive UI cards (name, image, attributes).
  5. Handle invalid queries with a friendly error message.