fb = this;
// Get the values to submit.
- subject = this.subjectInput.value;
+ subject = $.trim( this.subjectInput.value );
// We used to include "mw.html.escape( navigator.userAgent )" but there are legal issues
// with posting this without their explicit consent
- message = this.messageInput.value;
+ message = $.trim( this.messageInput.value );
if ( message.indexOf( '~~~' ) === -1 ) {
message += ' ~~~~';
}
{ redirect: true }
)
.done( function ( result ) {
- if ( result.edit !== undefined ) {
- if ( result.edit.result === 'Success' ) {
- fb.displayThanks();
- } else {
- // unknown API result
- fb.displayError( 'feedback-error1' );
- }
+ if ( result.edit.result === 'Success' ) {
+ fb.displayThanks();
} else {
- // edit failed
- fb.displayError( 'feedback-error2' );
+ // unknown API result
+ fb.displayError( 'feedback-error1' );
}
} )
- .fail( function () {
- // ajax request failed
- fb.displayError( 'feedback-error3' );
+ .fail( function ( code, result ) {
+ if ( code === 'http' ) {
+ // ajax request failed
+ fb.displayError( 'feedback-error3' );
+ mw.log.warn( 'Feedback report failed with HTTP error: ' + result.textStatus );
+ } else {
+ fb.displayError( 'feedback-error2' );
+ mw.log.warn( 'Feedback report failed with API error: ' + code );
+ }
} );
},