From 188a87d1a66f09dc7b224b89e6c1c16d77681423 Mon Sep 17 00:00:00 2001 From: Roland Stigge Date: Wed, 10 Jan 2018 20:49:03 +0100 Subject: Handle errors from HTTP, separated out commands as classes --- html/webbox.js | 49 +++++++++++++++++++++++++++++++++---------------- 1 file changed, 33 insertions(+), 16 deletions(-) (limited to 'html') diff --git a/html/webbox.js b/html/webbox.js index 8612062..01738be 100644 --- a/html/webbox.js +++ b/html/webbox.js @@ -354,11 +354,14 @@ function createDir() { var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { - if (this.readyState != 4 || this.status != 200) { + if (this.readyState != 4) { return; } - - document.getElementById("dialog").innerHTML = xhr.responseText; + if (this.status != 200) { + document.getElementById("dialog").innerHTML = "HTTP error"; + } else { + document.getElementById("dialog").innerHTML = xhr.responseText; + } document.getElementById("okbutton").onclick = hideDialog; document.getElementById("okbutton").focus(); loadContents(currentDir); // load new file list with new dir @@ -396,18 +399,22 @@ function onUploadFile() { var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { - if (this.readyState != 4 || this.status != 200) { + if (this.readyState != 4) { return; } showDialog(); var message = ""; - if (xhr.responseText == "OK") { - message = "Upload successful."; - loadContents(currentDir); // load new file list with uploaded file + if (this.status != 200) { + message = "HTTP error"; } else { - message = "Error: " + xhr.responseText; + if (xhr.responseText == "OK") { + message = "Upload successful."; + loadContents(currentDir); // load new file list with uploaded file + } else { + message = "Error: " + xhr.responseText; + } } document.getElementById("dialog").innerHTML = message; @@ -450,11 +457,14 @@ function deleteItems() { var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { - if (this.readyState != 4 || this.status != 200) { + if (this.readyState != 4) { return; } - - document.getElementById("dialog").innerHTML = xhr.responseText; + if (this.status != 200) { + document.getElementById("dialog").innerHTML = "HTTP error"; + } else { + document.getElementById("dialog").innerHTML = xhr.responseText; + } document.getElementById("okbutton").onclick = hideDialog; loadContents(currentDir); // load new file list with deleted items } @@ -505,11 +515,15 @@ function move() { var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { - if (this.readyState != 4 || this.status != 200) { + if (this.readyState != 4) { return; } + if (this.status != 200) { + document.getElementById("dialog").innerHTML = "HTTP error"; + } else { + document.getElementById("dialog").innerHTML = xhr.responseText; + } - document.getElementById("dialog").innerHTML = xhr.responseText; document.getElementById("okbutton").onclick = hideDialog; document.getElementById("okbutton").focus(); loadContents(currentDir); // load new file list with deleted items @@ -556,11 +570,14 @@ function info() { var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { - if (this.readyState != 4 || this.status != 200) { + if (this.readyState != 4) { return; } - - document.getElementById("dialog").innerHTML = xhr.responseText; + if (this.status != 200) { + document.getElementById("dialog").innerHTML = "HTTP error"; + } else { + document.getElementById("dialog").innerHTML = xhr.responseText; + } } var parser = new DOMParser(); -- cgit v1.2.3