Browse Source

onFailure will now fire in API when XHR Error occurs

pull/2403/head
jlukic 10 years ago
parent
commit
af6934e39a
1 changed files with 5 additions and 3 deletions
  1. 8
      src/definitions/behaviors/api.js

8
src/definitions/behaviors/api.js

@ -484,6 +484,7 @@ $.api = $.fn.api = function(parameters) {
errorMessage = (settings.error[status] !== undefined) errorMessage = (settings.error[status] !== undefined)
? settings.error[status] ? settings.error[status]
: httpMessage, : httpMessage,
abortedRequest = false,
response response
; ;
@ -492,10 +493,10 @@ $.api = $.fn.api = function(parameters) {
module.debug('Request Aborted (Most likely caused by page navigation or CORS Policy)', status, httpMessage); module.debug('Request Aborted (Most likely caused by page navigation or CORS Policy)', status, httpMessage);
module.reset(); module.reset();
settings.onAbort.call(context, status, $module); settings.onAbort.call(context, status, $module);
return;
abortedRequest = true;
} }
if(xhr !== undefined) {
if(xhr !== undefined && !abortedRequest) {
// if http status code returned and json returned error, look for it // if http status code returned and json returned error, look for it
if( xhr.status != 200 && httpMessage !== undefined && httpMessage !== '') { if( xhr.status != 200 && httpMessage !== undefined && httpMessage !== '') {
module.error(error.statusMessage + httpMessage, ajaxSettings.url); module.error(error.statusMessage + httpMessage, ajaxSettings.url);
@ -519,9 +520,10 @@ $.api = $.fn.api = function(parameters) {
module.set.error(); module.set.error();
setTimeout(module.remove.error, settings.errorDuration); setTimeout(module.remove.error, settings.errorDuration);
} }
module.debug('API Request error:', errorMessage);
module.debug('API Request errored', errorMessage);
settings.onError.call(context, errorMessage, $module); settings.onError.call(context, errorMessage, $module);
} }
settings.onFailure.call(context, response, $module);
} }
} }
}, },

Loading…
Cancel
Save