diff --git a/DnsServerCore/www/js/common.js b/DnsServerCore/www/js/common.js index bd6087b5..b953a25b 100644 --- a/DnsServerCore/www/js/common.js +++ b/DnsServerCore/www/js/common.js @@ -25,10 +25,19 @@ function htmlDecode(value) { return $('
').html(value).text(); } -function HTTPRequest(url, data, success, error, invalidToken, objAlertPlaceholder, objLoaderPlaceholder, processData, dataContentType, dontHideAlert, showInnerError) { +function HTTPRequest(url, method, data, isTextResponse, success, error, invalidToken, objAlertPlaceholder, objLoaderPlaceholder, processData, dataContentType, dontHideAlert, showInnerError) { var finalUrl; - finalUrl = arguments[0].url; + if ((url != null) && (url.url != null)) + finalUrl = arguments[0].url; + else + finalUrl = url; + + if (method == null) + method = arguments[0].method; + + if (method == null) + method = "GET"; if (data == null) { if (arguments[0].data == null) @@ -37,9 +46,19 @@ function HTTPRequest(url, data, success, error, invalidToken, objAlertPlaceholde data = arguments[0].data; } + if (isTextResponse == null) + isTextResponse = arguments[0].isTextResponse; + + if (isTextResponse == null) + isTextResponse = false; + + var dataType = isTextResponse ? null : "json"; + if (success == null) success = arguments[0].success; + var async = success != null; + if (error == null) error = arguments[0].error; @@ -73,128 +92,66 @@ function HTTPRequest(url, data, success, error, invalidToken, objAlertPlaceholde if (objLoaderPlaceholder != null) objLoaderPlaceholder.html("
"); - $.ajax({ - type: "POST", - url: finalUrl, - data: data, - dataType: "json", - async: true, - cache: false, - processData: processData, - contentType: dataContentType, - success: function (responseJson, status, jqXHR) { - - if (objLoaderPlaceholder != null) - objLoaderPlaceholder.html(""); - - switch (responseJson.status) { - case "ok": - if (success == null) - successFlag = true; - else - success(responseJson); - - break; - - case "invalid-token": - if (invalidToken != null) - invalidToken(); - else if (error != null) - error(); - else - window.location = "/"; - - break; - - case "error": - showAlert("danger", "Error!", responseJson.errorMessage + (showInnerError && (responseJson.innerErrorMessage != null) ? " " + responseJson.innerErrorMessage : ""), objAlertPlaceholder); - - if (error != null) - error(); - - break; - - default: - showAlert("danger", "Invalid Response!", "Server returned invalid response status: " + responseJson.status, objAlertPlaceholder); - - if (error != null) - error(); - - break; - } - - }, - error: function (jqXHR, textStatus, errorThrown) { - - if (objLoaderPlaceholder != null) - objLoaderPlaceholder.html(""); - - if (error != null) - error(); - - var msg; - - if ((textStatus === "error") && (errorThrown === "")) - msg = "Unable to connect to the server. Please try again." - else - msg = textStatus + " - " + errorThrown; - - showAlert("danger", "Error!", msg, objAlertPlaceholder); - } - }); -} - -function HTTPGetFileRequest(url, success, error, objAlertPlaceholder, objLoaderPlaceholder, dontHideAlert) { - var async = false; - var finalUrl; - - finalUrl = arguments[0].url; - - if (success != null) - async = true; - else - if (arguments[0].success != null) { - async = true; - success = arguments[0].success; - } - - if (error == null) - error = arguments[0].error; - - if (objAlertPlaceholder == null) - objAlertPlaceholder = arguments[0].objAlertPlaceholder; - - if (dontHideAlert == null) - dontHideAlert = arguments[0].dontHideAlert; - - if ((dontHideAlert == null) || !dontHideAlert) - hideAlert(objAlertPlaceholder); - - if (objLoaderPlaceholder == null) - objLoaderPlaceholder = arguments[0].objLoaderPlaceholder; - - if (objLoaderPlaceholder != null) - objLoaderPlaceholder.html("
"); - var successFlag = false; $.ajax({ - type: "GET", + type: method, url: finalUrl, + data: data, + dataType: dataType, async: async, cache: false, + processData: processData, + contentType: dataContentType, success: function (response, status, jqXHR) { - if (objLoaderPlaceholder != null) objLoaderPlaceholder.html(""); - if (success == null) - successFlag = true; - else - success(response); + if (isTextResponse) { + if (success == null) + successFlag = true; + else + success(response); + } + else { + switch (response.status) { + case "ok": + if (success == null) + successFlag = true; + else + success(response); + + break; + + case "invalid-token": + if (invalidToken != null) + invalidToken(); + else if (error != null) + error(); + else + window.location = "/"; + + break; + + case "error": + showAlert("danger", "Error!", response.errorMessage + (showInnerError && (response.innerErrorMessage != null) ? " " + response.innerErrorMessage : ""), objAlertPlaceholder); + + if (error != null) + error(); + + break; + + default: + showAlert("danger", "Invalid Response!", "Server returned invalid response status: " + response.status, objAlertPlaceholder); + + if (error != null) + error(); + + break; + } + } }, error: function (jqXHR, textStatus, errorThrown) { - if (objLoaderPlaceholder != null) objLoaderPlaceholder.html("");