Improve error handling in API and enhance JSON parsing in script.js

This commit is contained in:
vista-man
2025-03-18 10:21:59 +01:00
parent 59643b91c2
commit 048ca0e86f
2 changed files with 10 additions and 2 deletions

View File

@@ -10,7 +10,7 @@ $conn = new mysqli($servername, $username, $password, $dbname);
// Check connection // Check connection
if ($conn->connect_error) { if ($conn->connect_error) {
error_log("Connection failed: " . $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'); header('Content-Type: application/json');

View File

@@ -4,10 +4,18 @@ document.addEventListener('DOMContentLoaded', () => {
if (!response.ok) { if (!response.ok) {
throw new Error('Network response was not 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 => { .then(pokemons => {
const pokemonList = document.getElementById('pokemon-list'); const pokemonList = document.getElementById('pokemon-list');
pokemonList.innerHTML = '';
pokemons.forEach(pokemon => { pokemons.forEach(pokemon => {
const card = document.createElement('div'); const card = document.createElement('div');
card.className = 'pokemon-card'; card.className = 'pokemon-card';