1
1
// jQuery.XDomainRequest.js
2
2
// Author: Jason Moon - @JSONMOON
3
3
// IE8+
4
- if ( ! jQuery . support . cors && jQuery . ajaxTransport && window . XDomainRequest ) {
4
+ ( function ( $ ) {
5
+
6
+ if ( ! $ . support . cors && $ . ajaxTransport && window . XDomainRequest ) {
5
7
var httpRegEx = / ^ h t t p s ? : \/ \/ / i;
6
8
var getOrPostRegEx = / ^ g e t | p o s t $ / i;
7
9
var sameSchemeRegEx = new RegExp ( '^' + location . protocol , 'i' ) ;
@@ -10,7 +12,7 @@ if (!jQuery.support.cors && jQuery.ajaxTransport && window.XDomainRequest) {
10
12
var xmlRegEx = / \/ x m l / i;
11
13
12
14
// ajaxTransport exists in jQuery 1.5+
13
- jQuery . ajaxTransport ( '* text html xml json' , function ( options , userOptions , jqXHR ) {
15
+ $ . ajaxTransport ( '* text html xml json' , function ( options , userOptions , jqXHR ) {
14
16
// XDomainRequests must be: asynchronous, GET or POST methods, HTTP or HTTPS protocol, and same scheme as calling page
15
17
if ( options . crossDomain && options . async && getOrPostRegEx . test ( options . type ) && httpRegEx . test ( options . url ) && sameSchemeRegEx . test ( options . url ) ) {
16
18
var xdr = null ;
@@ -38,7 +40,7 @@ if (!jQuery.support.cors && jQuery.ajaxTransport && window.XDomainRequest) {
38
40
responses . html = xdr . responseText ;
39
41
} else if ( userType === 'json' || ( userType !== 'text' && jsonRegEx . test ( xdr . contentType ) ) ) {
40
42
try {
41
- responses . json = jQuery . parseJSON ( xdr . responseText ) ;
43
+ responses . json = $ . parseJSON ( xdr . responseText ) ;
42
44
} catch ( e ) {
43
45
status . code = 500 ;
44
46
status . message = 'parseerror' ;
@@ -74,7 +76,7 @@ if (!jQuery.support.cors && jQuery.ajaxTransport && window.XDomainRequest) {
74
76
} ;
75
77
var postData = '' ;
76
78
if ( userOptions . data ) {
77
- postData = ( jQuery . type ( userOptions . data ) === 'string' ) ? userOptions . data : jQuery . param ( userOptions . data ) ;
79
+ postData = ( $ . type ( userOptions . data ) === 'string' ) ? userOptions . data : $ . param ( userOptions . data ) ;
78
80
}
79
81
xdr . open ( options . type , options . url ) ;
80
82
xdr . send ( postData ) ;
@@ -88,3 +90,5 @@ if (!jQuery.support.cors && jQuery.ajaxTransport && window.XDomainRequest) {
88
90
}
89
91
} ) ;
90
92
}
93
+
94
+ } ) ( jQuery ) ;
0 commit comments