html
Copy code
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Weather App</title>
</head>
<body>
<h1>Weather App</h1>
<form id="weatherForm">
<input type="text" id="latitude" placeholder="Latitude" required>
<input type="text" id="longitude" placeholder="Longitude" required>
<button type="submit">Get Weather</button>
</form>
<h2>Forecast</h2>
<div id="forecast"></div>
<script>
document.getElementById('weatherForm').addEventListener('submit', function(event) {
event.preventDefault();
const latitude = document.getElementById('latitude').value;
const longitude = document.getElementById('longitude').value;
fetch(`/weather?latitude=${latitude}&longitude=${longitude}`)
.then(response => response.json())
.then(data => {
const forecastDiv = document.getElementById('forecast');
forecastDiv.innerHTML = '';
if (data.properties && data.properties.periods) {
data.properties.periods.forEach(period => {
const periodDiv = document.createElement('div');
periodDiv.innerHTML = `<p>${period.name}: ${period.detailedForecast}</p>`;
forecastDiv.appendChild(periodDiv);
});
} else {
forecastDiv.innerHTML = '<p>No forecast available</p>';
}
})
.catch(error => {
console.error('Error fetching weather data:', error);
document.getElementById('forecast').innerHTML = '<p>Error fetching weather data</p>';
});
});
</script>
</body>
</html>