1
0
mirror of synced 2024-11-22 13:06:08 +03:00

Fix abort with JSONP

We now check that the `abort` method actually exists before aborting
the request, as JSONP does not include the `abort` method because
a JSONP request technically cannot be aborted.

This closes https://github.com/select2/select2/issues/3217.
This commit is contained in:
Kevin Brown 2015-04-02 11:26:23 -04:00
parent a8e6cbc0c9
commit e7498987a5
5 changed files with 23 additions and 15 deletions

View File

@ -1668,8 +1668,6 @@ S2.define('select2/selection/allowClear',[
};
AllowClear.prototype._handleClear = function (_, evt) {
console.log(arguments);
// Ignore the event if it is disabled
if (this.options.get('disabled')) {
return;
@ -3275,8 +3273,12 @@ S2.define('select2/data/ajax',[
var matches = [];
var self = this;
if (this._request) {
this._request.abort();
if (this._request != null) {
// JSONP requests cannot always be aborted
if ($.isFunction(this._request.abort)) {
this._request.abort();
}
this._request = null;
}

File diff suppressed because one or more lines are too long

10
dist/js/select2.js vendored
View File

@ -1668,8 +1668,6 @@ S2.define('select2/selection/allowClear',[
};
AllowClear.prototype._handleClear = function (_, evt) {
console.log(arguments);
// Ignore the event if it is disabled
if (this.options.get('disabled')) {
return;
@ -3275,8 +3273,12 @@ S2.define('select2/data/ajax',[
var matches = [];
var self = this;
if (this._request) {
this._request.abort();
if (this._request != null) {
// JSONP requests cannot always be aborted
if ($.isFunction(this._request.abort)) {
this._request.abort();
}
this._request = null;
}

File diff suppressed because one or more lines are too long

View File

@ -43,8 +43,12 @@ define([
var matches = [];
var self = this;
if (this._request) {
this._request.abort();
if (this._request != null) {
// JSONP requests cannot always be aborted
if ($.isFunction(this._request.abort)) {
this._request.abort();
}
this._request = null;
}