From 465f81997353771e9ffddd9b97a124455d7e3206 Mon Sep 17 00:00:00 2001 From: Ross Date: Mon, 29 Dec 2025 12:15:06 +0000 Subject: [PATCH] Improve error handling in state change failure response for better user feedback --- templates/exam_overview_js.html | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/templates/exam_overview_js.html b/templates/exam_overview_js.html index d27d785d..ebaa05a3 100644 --- a/templates/exam_overview_js.html +++ b/templates/exam_overview_js.html @@ -22,9 +22,22 @@ // show some message according to the response. // For eg. A message box showing that the status has been changed }) - .fail(function (data) { - console.log(data) - toastr.error(`Failed to change state
${data.responseJSON.status}`); + .fail(function (jqXHR) { + console.log(jqXHR) + var msg = 'Unknown error'; + try { + if (jqXHR && jqXHR.responseJSON && jqXHR.responseJSON.status) { + msg = jqXHR.responseJSON.status; + } else if (jqXHR && jqXHR.responseText) { + // fallback to raw responseText (may be HTML) + msg = jqXHR.responseText; + } else if (jqXHR && jqXHR.statusText) { + msg = jqXHR.statusText; + } + } catch (e) { + console.error('Error parsing failure response', e); + } + toastr.error(`Failed to change state
${msg}`); }) .always(function () { console.log('[Done]');