# HG changeset patch # User Daniel Dourvaris # Date 2016-10-27 06:56:27 # Node ID 4a2f36ea2f19d8a328e8e0d6e7a875d545c883eb # Parent 35f094070e3e670d39c7e5e956649750e893a0ba js: add failure callbacks to ajax functions to allow custom behaviour on failed requests diff --git a/rhodecode/public/js/src/rhodecode/utils/ajax.js b/rhodecode/public/js/src/rhodecode/utils/ajax.js --- a/rhodecode/public/js/src/rhodecode/utils/ajax.js +++ b/rhodecode/public/js/src/rhodecode/utils/ajax.js @@ -36,18 +36,22 @@ var toQueryString = function(o) { /** * ajax call wrappers */ -var ajaxGET = function(url, success) { +var ajaxGET = function(url, success, failure) { var sUrl = url; var request = $.ajax({url: sUrl, headers: {'X-PARTIAL-XHR': true}}) .done(function(data){ success(data); }) - .fail(function(data, textStatus, xhr){ - alert("error processing request: " + textStatus); + .fail(function(data, textStatus, xhr) { + if (failure) { + failure(data, textStatus, xhr); + } else { + alert("error processing request: " + textStatus); + } }); return request; }; -var ajaxPOST = function(url,postData,success) { +var ajaxPOST = function(url, postData, success, failure) { var sUrl = url; var postData = toQueryString(postData); var request = $.ajax({type: 'POST', data: postData, url: sUrl, @@ -56,7 +60,11 @@ var ajaxPOST = function(url,postData,suc success(data); }) .fail(function(data, textStatus, xhr){ - alert("error processing request: " + textStatus); + if (failure) { + failure(data, textStatus, xhr); + } else { + alert("error processing request: " + textStatus); + } }); return request; };