Moved the RegExp in ajax.js out from inline, goes towards ticket #4111.
This commit is contained in:
parent
5272ed28bc
commit
eaca153aea
1 changed files with 20 additions and 12 deletions
32
src/ajax.js
32
src/ajax.js
|
@ -1,3 +1,13 @@
|
||||||
|
var jsc = now(),
|
||||||
|
rscript = /<script(.|\s)*?\/script>/g,
|
||||||
|
rselectTextarea = /select|textarea/i,
|
||||||
|
rinput = /text|hidden|password|search/i,
|
||||||
|
jsre = /=\?(&|$)/,
|
||||||
|
rquery = /\?/,
|
||||||
|
rts = /(\?|&)_=.*?(&|$)/,
|
||||||
|
rurl = /^(\w+:)?\/\/([^\/?#]+)/,
|
||||||
|
r20 = /%20/g;
|
||||||
|
|
||||||
jQuery.fn.extend({
|
jQuery.fn.extend({
|
||||||
// Keep a copy of the old load
|
// Keep a copy of the old load
|
||||||
_load: jQuery.fn.load,
|
_load: jQuery.fn.load,
|
||||||
|
@ -48,7 +58,7 @@ jQuery.fn.extend({
|
||||||
jQuery("<div/>")
|
jQuery("<div/>")
|
||||||
// inject the contents of the document in, removing the scripts
|
// inject the contents of the document in, removing the scripts
|
||||||
// to avoid any 'Permission Denied' errors in IE
|
// to avoid any 'Permission Denied' errors in IE
|
||||||
.append(res.responseText.replace(/<script(.|\s)*?\/script>/g, ""))
|
.append(res.responseText.replace(rscript, ""))
|
||||||
|
|
||||||
// Locate the specified elements
|
// Locate the specified elements
|
||||||
.find(selector) :
|
.find(selector) :
|
||||||
|
@ -75,8 +85,8 @@ jQuery.fn.extend({
|
||||||
})
|
})
|
||||||
.filter(function(){
|
.filter(function(){
|
||||||
return this.name && !this.disabled &&
|
return this.name && !this.disabled &&
|
||||||
(this.checked || /select|textarea/i.test(this.nodeName) ||
|
(this.checked || rselectTextarea.test(this.nodeName) ||
|
||||||
/text|hidden|password|search/i.test(this.type));
|
rinput.test(this.type));
|
||||||
})
|
})
|
||||||
.map(function(i, elem){
|
.map(function(i, elem){
|
||||||
var val = jQuery(this).val();
|
var val = jQuery(this).val();
|
||||||
|
@ -99,8 +109,6 @@ jQuery.each( "ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".sp
|
||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
var jsc = now();
|
|
||||||
|
|
||||||
jQuery.extend({
|
jQuery.extend({
|
||||||
|
|
||||||
get: function( url, data, callback, type ) {
|
get: function( url, data, callback, type ) {
|
||||||
|
@ -186,7 +194,7 @@ jQuery.extend({
|
||||||
// checked again later (in the test suite, specifically)
|
// checked again later (in the test suite, specifically)
|
||||||
s = jQuery.extend(true, s, jQuery.extend(true, {}, jQuery.ajaxSettings, s));
|
s = jQuery.extend(true, s, jQuery.extend(true, {}, jQuery.ajaxSettings, s));
|
||||||
|
|
||||||
var jsonp, jsre = /=\?(&|$)/, status, data,
|
var jsonp, status, data,
|
||||||
type = s.type.toUpperCase();
|
type = s.type.toUpperCase();
|
||||||
|
|
||||||
// convert data if not already a string
|
// convert data if not already a string
|
||||||
|
@ -198,7 +206,7 @@ jQuery.extend({
|
||||||
if ( s.dataType === "jsonp" ) {
|
if ( s.dataType === "jsonp" ) {
|
||||||
if ( type === "GET" ) {
|
if ( type === "GET" ) {
|
||||||
if ( !jsre.test( s.url ) ) {
|
if ( !jsre.test( s.url ) ) {
|
||||||
s.url += (/\?/.test( s.url ) ? "&" : "?") + (s.jsonp || "callback") + "=?";
|
s.url += (rquery.test( s.url ) ? "&" : "?") + (s.jsonp || "callback") + "=?";
|
||||||
}
|
}
|
||||||
} else if ( !s.data || !jsre.test(s.data) ) {
|
} else if ( !s.data || !jsre.test(s.data) ) {
|
||||||
s.data = (s.data ? s.data + "&" : "") + (s.jsonp || "callback") + "=?";
|
s.data = (s.data ? s.data + "&" : "") + (s.jsonp || "callback") + "=?";
|
||||||
|
@ -243,15 +251,15 @@ jQuery.extend({
|
||||||
var ts = now();
|
var ts = now();
|
||||||
|
|
||||||
// try replacing _= if it is there
|
// try replacing _= if it is there
|
||||||
var ret = s.url.replace(/(\?|&)_=.*?(&|$)/, "$1_=" + ts + "$2");
|
var ret = s.url.replace(rts, "$1_=" + ts + "$2");
|
||||||
|
|
||||||
// if nothing was replaced, add timestamp to the end
|
// if nothing was replaced, add timestamp to the end
|
||||||
s.url = ret + ((ret === s.url) ? (/\?/.test(s.url) ? "&" : "?") + "_=" + ts : "");
|
s.url = ret + ((ret === s.url) ? (rquery.test(s.url) ? "&" : "?") + "_=" + ts : "");
|
||||||
}
|
}
|
||||||
|
|
||||||
// If data is available, append data to url for get requests
|
// If data is available, append data to url for get requests
|
||||||
if ( s.data && type === "GET" ) {
|
if ( s.data && type === "GET" ) {
|
||||||
s.url += (/\?/.test(s.url) ? "&" : "?") + s.data;
|
s.url += (rquery.test(s.url) ? "&" : "?") + s.data;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Watch for a new set of requests
|
// Watch for a new set of requests
|
||||||
|
@ -260,7 +268,7 @@ jQuery.extend({
|
||||||
}
|
}
|
||||||
|
|
||||||
// Matches an absolute URL, and saves the domain
|
// Matches an absolute URL, and saves the domain
|
||||||
var parts = /^(\w+:)?\/\/([^\/?#]+)/.exec( s.url );
|
var parts = rurl.exec( s.url );
|
||||||
|
|
||||||
// If we're requesting a remote document
|
// If we're requesting a remote document
|
||||||
// and trying to load JSON or Script with a GET
|
// and trying to load JSON or Script with a GET
|
||||||
|
@ -598,7 +606,7 @@ jQuery.extend({
|
||||||
}
|
}
|
||||||
|
|
||||||
// Return the resulting serialization
|
// Return the resulting serialization
|
||||||
return s.join("&").replace(/%20/g, "+");
|
return s.join("&").replace(r20, "+");
|
||||||
}
|
}
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue