From 048ca0e86fd3b6a9fc5beaee429175f3b23c3034 Mon Sep 17 00:00:00 2001 From: vista-man <524715@vistacollege.nl> Date: Tue, 18 Mar 2025 10:21:59 +0100 Subject: [PATCH] Improve error handling in API and enhance JSON parsing in script.js --- school-pokedex/api.php | 2 +- school-pokedex/script.js | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/school-pokedex/api.php b/school-pokedex/api.php index cc106f7..db239f3 100644 --- a/school-pokedex/api.php +++ b/school-pokedex/api.php @@ -10,7 +10,7 @@ $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) { error_log("Connection failed: " . $conn->connect_error); - die("Connection failed: " . $conn->connect_error); + die(json_encode(['error' => "Connection failed: " . $conn->connect_error])); } header('Content-Type: application/json'); diff --git a/school-pokedex/script.js b/school-pokedex/script.js index 6728f76..9cd1121 100644 --- a/school-pokedex/script.js +++ b/school-pokedex/script.js @@ -4,10 +4,18 @@ document.addEventListener('DOMContentLoaded', () => { if (!response.ok) { throw new Error('Network response was not ok'); } - return response.json(); + return response.text().then(text => { + try { + return JSON.parse(text); + } catch (error) { + console.error('JSON parse error:', error, text); + throw error; + } + }); }) .then(pokemons => { const pokemonList = document.getElementById('pokemon-list'); + pokemonList.innerHTML = ''; pokemons.forEach(pokemon => { const card = document.createElement('div'); card.className = 'pokemon-card';