document.addEventListener('DOMContentLoaded', () => { // Set the base URL for the API // When running locally without the container, you would use: const API_BASE_URL = 'http://localhost:8000'; // When accessing the API running in a container, you would use: // const API_BASE_URL = 'http://localhost:8000'; // Adjust the port if needed according to your container setup // Function to fetch data from the API and update the UI async function fetchEndpoint(endpoint, elementId) { const dataElement = document.getElementById(elementId); try { const response = await fetch(`${API_BASE_URL}${endpoint}`); if (!response.ok) { throw new Error(`HTTP error! Status: ${response.status}`); } const data = await response.json(); // Create a formatted JSON string with syntax highlighting const formattedJson = JSON.stringify(data, null, 2); // Update the UI with the fetched data dataElement.innerHTML = `
${formattedJson}`; return data; // Return the data for potential further processing } catch (error) { dataElement.innerHTML = `
No locations found in the contacts data.
'; return; } // Create HTML for the locations list const locationsHTML = `Found ${locations.length} unique location(s):
Code example:
// JavaScript to extract unique locations const locations = [...new Set( contactsData.map(contact => contact.location) )]; console.log(locations); // ${JSON.stringify(locations)}`; locationsElement.innerHTML = locationsHTML; } catch (error) { locationsElement.innerHTML = `