Преглед на файлове

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.
Kevin Brown преди 10 години
родител
ревизия
e7498987a5
променени са 5 файла, в които са добавени 18 реда и са изтрити 10 реда
  1. 6 4
      dist/js/select2.full.js
  2. 0 0
      dist/js/select2.full.min.js
  3. 6 4
      dist/js/select2.js
  4. 0 0
      dist/js/select2.min.js
  5. 6 2
      src/js/select2/data/ajax.js

+ 6 - 4
dist/js/select2.full.js

@@ -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;
     }
 

Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
dist/js/select2.full.min.js


+ 6 - 4
dist/js/select2.js

@@ -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;
     }
 

Файловите разлики са ограничени, защото са твърде много
+ 0 - 0
dist/js/select2.min.js


+ 6 - 2
src/js/select2/data/ajax.js

@@ -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;
     }
 

Някои файлове не бяха показани, защото твърде много файлове са промени