@@ -50,11 +50,6 @@ $(document).ready(function () {
5050 dataType : 'json' ,
5151 success : function ( result ) {
5252 console . log ( JSON . stringify ( result ) ) ;
53- if ( result && result . statusCode === 409 ) {
54- $ ( "#error" ) . html ( result . message ) ;
55- $ ( "#error" ) . closest ( ".message" ) . fadeIn ( ) ;
56- return ;
57- }
5853 if ( result && result . valid && submit_flag ) {
5954 $ ( "#error" ) . closest ( ".message" ) . fadeOut ( ) ;
6055 $ ( "#error" ) . html ( "" ) ;
@@ -77,13 +72,33 @@ $(document).ready(function () {
7772 //setContinueButtonDisabledStatus(true);
7873 }
7974 } ,
80- error : function ( result ) {
81- console . log ( JSON . stringify ( result ) ) ;
82- if ( result && result . statusCode === 409 ) {
83- $ ( "#error" ) . html ( result . message ) ;
84- $ ( "#error" ) . closest ( ".message" ) . fadeIn ( ) ;
85- return ;
75+ error : function ( jqXHR ) {
76+ // Try to extract server-provided message from JSON body
77+ var message = null ;
78+ try {
79+ if ( jqXHR && jqXHR . responseJSON && jqXHR . responseJSON . message ) {
80+ message = jqXHR . responseJSON . message ;
81+ } else if ( jqXHR && jqXHR . responseText ) {
82+ var parsed = JSON . parse ( jqXHR . responseText ) ;
83+ if ( parsed && parsed . message ) {
84+ message = parsed . message ;
85+ }
86+ }
87+ } catch ( e ) {
88+ // fall through to default message
8689 }
90+
91+ if ( ! message ) {
92+ // Provide a sensible fallback when no message is available
93+ if ( jqXHR && jqXHR . status === 409 ) {
94+ message = "Handle is already taken." ;
95+ } else {
96+ message = "An error occurred. Please try again." ;
97+ }
98+ }
99+
100+ $ ( "#error" ) . html ( message ) ;
101+ $ ( "#error" ) . closest ( ".message" ) . fadeIn ( ) ;
87102 }
88103 } ) ;
89104 return false ;
0 commit comments