diff --git a/app/assets/javascripts/discourse/mixins/ajax.js b/app/assets/javascripts/discourse/mixins/ajax.js index 4b27624dc46..f6cdbdbf744 100644 --- a/app/assets/javascripts/discourse/mixins/ajax.js +++ b/app/assets/javascripts/discourse/mixins/ajax.js @@ -54,7 +54,7 @@ Discourse.Ajax = Em.Mixin.create({ }; var oldError = args.error; - args.error = function(xhr) { + args.error = function(xhr, textStatus) { // note: for bad CSRF we don't loop an extra request right away. // this allows us to eliminate the possibility of having a loop. @@ -62,9 +62,11 @@ Discourse.Ajax = Em.Mixin.create({ Discourse.Session.current().set('csrfToken', null); } - // If it's a parseerror, don't reject + // If it's a parsererror, don't reject if (xhr.status === 200) return args.success(xhr); + xhr.jqTextStatus = textStatus; + Ember.run(promise, promise.reject, xhr); if (oldError) oldError(xhr); };