@@ -48,6 +48,7 @@ interface Params {
4848 _RenderResponseItems : any ;
4949 _Select : any ;
5050 _Url : any ;
51+ _Error : any ;
5152
5253 // Internal item
5354 $AjaxTimer : number ;
@@ -221,7 +222,8 @@ class AutoComplete {
221222 function ( response : string ) {
222223 this . _Render ( this . _Post ( response ) ) ;
223224 this . _Open ( ) ;
224- } . bind ( this )
225+ } . bind ( this ) ,
226+ this . _Error
225227 ) ;
226228 }
227229 } ,
@@ -493,6 +495,11 @@ class AutoComplete {
493495 }
494496 this . Input . setAttribute ( "data-autocomplete-old-value" , this . Input . value ) ;
495497 } ,
498+ /**
499+ * Handle HTTP error on the request
500+ */
501+ _Error : function ( ) : void {
502+ } ,
496503
497504 $AjaxTimer : null ,
498505 $Cache : { } ,
@@ -600,7 +607,7 @@ class AutoComplete {
600607 }
601608 }
602609
603- makeRequest ( params : Params , callback : any ) : XMLHttpRequest {
610+ makeRequest ( params : Params , callback : any , callbackErr : any ) : XMLHttpRequest {
604611 var propertyHttpHeaders : string [ ] = Object . getOwnPropertyNames ( params . HttpHeaders ) ,
605612 request : XMLHttpRequest = new XMLHttpRequest ( ) ,
606613 method : string = params . _HttpMethod ( ) ,
@@ -627,6 +634,9 @@ class AutoComplete {
627634 params . $Cache [ queryParams ] = request . response ;
628635 callback ( request . response ) ;
629636 }
637+ else if ( request . status >= 400 ) {
638+ callbackErr ( ) ;
639+ }
630640 } ;
631641
632642 return request ;
@@ -649,11 +659,11 @@ class AutoComplete {
649659 }
650660 }
651661
652- cache ( params : Params , callback : any ) : void {
662+ cache ( params : Params , callback : any , callbackErr : any ) : void {
653663 var response : string | undefined = params . _Cache ( params . _Pre ( ) ) ;
654664
655665 if ( response === undefined ) {
656- var request : XMLHttpRequest = AutoComplete . prototype . makeRequest ( params , callback ) ;
666+ var request : XMLHttpRequest = AutoComplete . prototype . makeRequest ( params , callback , callbackErr ) ;
657667
658668 AutoComplete . prototype . ajax ( params , request ) ;
659669 } else {
0 commit comments