fix of the json upload format

This commit is contained in:
2026-08-03 00:20:53 +02:00
parent bf31ee2d16
commit 5052dd9de6
+16 -8
View File
@@ -149,7 +149,7 @@
<div id="status-message"></div> <div id="status-message"></div>
</div> </div>
<script> <script>
document.getElementById('uploadForm').addEventListener('submit', async function(e) { document.getElementById('uploadForm').addEventListener('submit', async function(e) {
e.preventDefault(); // Verhindert das Neuladen der Seite e.preventDefault(); // Verhindert das Neuladen der Seite
@@ -174,7 +174,16 @@
body: formData body: formData
}); });
const result = await response.json(); let result;
try {
// Versuche, die Antwort als JSON zu lesen
result = await response.json();
} catch (jsonError) {
// Wenn der Server kein JSON, sondern HTML (z.B. bei einem Python-Crash) sendet
const errorText = await response.text();
console.error("Server hat kein JSON gesendet. Antwort war:", errorText);
throw new Error("Der Server hat einen HTML-Fehler zurückgegeben (Python-Crash oder falscher Pfad). Siehe Konsole.");
}
if (response.ok && result.success) { if (response.ok && result.success) {
// Erfolgreicher Upload // Erfolgreicher Upload
@@ -185,14 +194,15 @@
`; `;
form.reset(); // Formular nach Erfolg leeren form.reset(); // Formular nach Erfolg leeren
} else { } else {
// Fehler vom Server (z.B. falsches Format, fehlende Rechte) // Fehler vom Server (mit JSON-Fehlermeldung)
statusDiv.className = 'error'; statusDiv.className = 'error';
statusDiv.innerHTML = `<strong>Fehler:</strong> ${result.message || 'Ein unbekannter Fehler ist aufgetreten.'}`; statusDiv.innerHTML = `<strong>Fehler:</strong> ${result.message || 'Ein unbekannter Fehler ist aufgetreten.'}`;
} }
} catch (error) { } catch (error) {
// Netzwerkfehler oder Server-Absturz // Netzwerkfehler oder abgefangener Server-Fehler
statusDiv.className = 'error'; statusDiv.className = 'error';
statusDiv.innerHTML = `<strong>Verbindungsfehler:</strong> Konnte den Server nicht erreichen.`; statusDiv.innerHTML = `<strong>Fehler:</strong> ${error.message}`;
console.error('Upload Error:', error); console.error('Upload Error:', error);
} finally { } finally {
// UI wieder freigeben // UI wieder freigeben
@@ -200,6 +210,4 @@
submitBtn.innerText = 'Daten hochladen'; submitBtn.innerText = 'Daten hochladen';
} }
}); });
</script> </script>
</body>
</html>