Add error handling for HTTP response codes other than 200.

This works also for local errors such as no connection as browsers
return a response code of 0 in that case
This commit is contained in:
Michael Demetriou 2019-07-14 15:26:14 +03:00
parent 6cca097de0
commit be93f91311
1 changed files with 9 additions and 1 deletions

View File

@ -434,7 +434,11 @@
xhr.send(formData); xhr.send(formData);
xhr.onreadystatechange = function(){ xhr.onreadystatechange = function(){
if(xhr.readyState == 4){ if(xhr.readyState == 4){
processResponse(xhr.responseText, file.identifier); if (xhr.status == 200){
processResponse(xhr.responseText, file.identifier);
} else {
processFailure(file.identifier);
}
} }
} }
} }
@ -445,6 +449,10 @@
textarea.value = textarea.value.replace(getMarkdownRegex(identifier), "["+ description +"]("+response.url+")"); textarea.value = textarea.value.replace(getMarkdownRegex(identifier), "["+ description +"]("+response.url+")");
} }
function processFailure(identifier){
textarea.value = textarea.value.replace(getMarkdownRegex(identifier), "");
}
function getMarkdownRegex(identifier){ function getMarkdownRegex(identifier){
return new RegExp('\\[' + identifier + '\\]\\(.*?\\)'); return new RegExp('\\[' + identifier + '\\]\\(.*?\\)');
} }