fixed #698 - ajaxify.go will now cancel any active API requests when it is called

v1.18.x
Julian Lam 11 years ago
parent 67f8af7e3e
commit 127261100e

@ -49,7 +49,7 @@ var ajaxify = {};
// end // end
if ($('#content').hasClass('ajaxifying')) { if ($('#content').hasClass('ajaxifying')) {
return true; templates.cancelRequest();
} }
// Remove trailing slash // Remove trailing slash

@ -4,7 +4,8 @@
templates, templates,
fs = null, fs = null,
available_templates = [], available_templates = [],
parsed_variables = {}; parsed_variables = {},
apiXHR;
module.exports = templates = { module.exports = templates = {
"globals": {} "globals": {}
@ -174,7 +175,7 @@
parse_template(); parse_template();
} }
jQuery.get(RELATIVE_PATH + '/api/' + api_url, function (data) { apiXHR = jQuery.get(RELATIVE_PATH + '/api/' + api_url, function (data) {
if (!data) { if (!data) {
ajaxify.go('404'); ajaxify.go('404');
@ -183,12 +184,12 @@
template_data = data; template_data = data;
parse_template(); parse_template();
}).fail(function (data) { }).fail(function (data, textStatus) {
if (data && data.status == 404) { if (data && data.status == 404) {
return ajaxify.go('404'); return ajaxify.go('404');
} else if (data && data.status === 403) { } else if (data && data.status === 403) {
return ajaxify.go('403'); return ajaxify.go('403');
} else { } else if (textStatus !== "abort") {
app.alertError(data.responseJSON.error); app.alertError(data.responseJSON.error);
} }
}); });
@ -232,6 +233,12 @@
} }
templates.cancelRequest = function() {
if (apiXHR) {
apiXHR.abort();
}
}
templates.flush = function () { templates.flush = function () {
parsed_variables = {}; parsed_variables = {};
} }

Loading…
Cancel
Save