Skip to content

Commit a3d96d6

Browse files
authored
Merge pull request #1 from 1u0n/1u0n-patch-RequestError
added _RequestError to handle HTTP errors
2 parents 9dbb139 + 743b60f commit a3d96d6

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

src/autocomplete.ts

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ interface Params {
4848
_RenderResponseItems: any;
4949
_Select: any;
5050
_Url: any;
51+
_RequestError: any;
5152

5253
// Internal item
5354
$AjaxTimer: number;
@@ -222,7 +223,8 @@ class AutoComplete {
222223
function(response: string) {
223224
this._Render(this._Post(response));
224225
this._Open();
225-
}.bind(this)
226+
}.bind(this),
227+
this._RequestError
226228
);
227229
}
228230
},
@@ -494,6 +496,11 @@ class AutoComplete {
494496
}
495497
this.Input.setAttribute("data-autocomplete-old-value", this.Input.value);
496498
},
499+
/**
500+
* Handle HTTP error on the request
501+
*/
502+
_RequestError: function(): void {
503+
},
497504

498505
$AjaxTimer: null,
499506
$Cache: {},
@@ -601,7 +608,7 @@ class AutoComplete {
601608
}
602609
}
603610

604-
makeRequest(params: Params, callback: any): XMLHttpRequest {
611+
makeRequest(params: Params, callback: any, callbackErr: any): XMLHttpRequest {
605612
var propertyHttpHeaders: string[] = Object.getOwnPropertyNames(params.HttpHeaders),
606613
request: XMLHttpRequest = new XMLHttpRequest(),
607614
method: string = params._HttpMethod(),
@@ -628,6 +635,9 @@ class AutoComplete {
628635
params.$Cache[queryParams] = request.response;
629636
callback(request.response);
630637
}
638+
else if (request.status >= 400) {
639+
callbackErr();
640+
}
631641
};
632642

633643
return request;
@@ -650,11 +660,11 @@ class AutoComplete {
650660
}
651661
}
652662

653-
cache(params: Params, callback: any): void {
663+
cache(params: Params, callback: any, callbackErr: any): void {
654664
var response: string|undefined = params._Cache(params._Pre());
655665

656666
if (response === undefined) {
657-
var request: XMLHttpRequest = AutoComplete.prototype.makeRequest(params, callback);
667+
var request: XMLHttpRequest = AutoComplete.prototype.makeRequest(params, callback, callbackErr);
658668

659669
AutoComplete.prototype.ajax(params, request);
660670
} else {

0 commit comments

Comments
 (0)