If the XHR error suggests that the xhr.status is 0 (i.e., it didn't

receive an XHR object as expected), threat it as a success like HTTP
20x or 30x because the notice most likely went through. jquery.form.js
(for file uploads) and meteor.js both use an iframe and they (somehow)
appear to be in conflict. Notice always goes through, however,
xhr.status is 0. Further investigation is needed.
This commit is contained in:
Sarven Capadisli 2009-12-07 09:55:12 +00:00
parent 49005881bd
commit af0f905e24

View File

@ -192,12 +192,13 @@ var SN = { // StatusNet
form.append(document._importNode($('.'+SN.C.S.Error, xhr.responseXML)[0], true)); form.append(document._importNode($('.'+SN.C.S.Error, xhr.responseXML)[0], true));
} }
else { else {
if(jQuery.inArray(parseInt(xhr.status), SN.C.I.HTTP20x30x) < 0) { if (parseInt(xhr.status) === 0 || jQuery.inArray(parseInt(xhr.status), SN.C.I.HTTP20x30x) >= 0) {
form.append('<p class="error>(Sorry! We had trouble sending your notice ('+xhr.status+' '+xhr.statusText+'). Please report the problem to the site administrator if this happens again.</p>'); $('#'+form_id).resetForm();
$('#'+form_id+' #'+SN.C.S.NoticeDataAttachSelected).remove();
SN.U.FormNoticeEnhancements($('#'+form_id));
} }
else { else {
$('#'+form_id+' #'+SN.C.S.NoticeDataText).val(''); form.append('<p class="error>(Sorry! We had trouble sending your notice ('+xhr.status+' '+xhr.statusText+'). Please report the problem to the site administrator if this happens again.</p>');
SN.U.FormNoticeEnhancements($('#'+form_id));
} }
} }
} }