git.asbjorn.biz
/
jquery.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Change embedded regexp to a variable (for #6876).
[jquery.git]
/
src
/
ajax.js
diff --git
a/src/ajax.js
b/src/ajax.js
index
d78542d
..
d570fcc
100644
(file)
--- a/
src/ajax.js
+++ b/
src/ajax.js
@@
-10,7
+10,8
@@
var r20 = /%20/g,
rscript = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
rselectTextarea = /^(?:select|textarea)/i,
rts = /([?&])_=[^&]*/,
rscript = /<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,
rselectTextarea = /^(?:select|textarea)/i,
rts = /([?&])_=[^&]*/,
- rurl = /^(\w+:)?\/\/([^\/?#]+)/,
+ rurl = /^(\w+:)?\/\/([^\/?#:]+)(?::(\d+))?/,
+ rCRLF = /\r?\n/g,
// Slice function
sliceFunc = Array.prototype.slice,
// Slice function
sliceFunc = Array.prototype.slice,
@@
-107,9
+108,9
@@
jQuery.fn.extend({
null :
jQuery.isArray(val) ?
jQuery.map( val, function(val, i){
null :
jQuery.isArray(val) ?
jQuery.map( val, function(val, i){
- return {name: elem.name, value: val.replace(/\r?\n/g, "\r\n")};
+ return { name: elem.name, value: val.replace(rCRLF, "\r\n") };
}) :
}) :
- {name: elem.name, value: val.replace(/\r?\n/g, "\r\n")};
+ { name: elem.name, value: val.replace(rCRLF, "\r\n") };
}).get();
}
});
}).get();
}
});
@@
-464,6
+465,11
@@
jQuery.extend({
} else { // if not success, mark it as an error
error = error || statusText;
} else { // if not success, mark it as an error
error = error || statusText;
+
+ // Set responseText if needed
+ if ( response ) {
+ jXHR.responseText = response;
+ }
}
// Set data for the fake xhr object
}
// Set data for the fake xhr object
@@
-496,9
+502,9
@@
jQuery.extend({
// Attach deferreds
deferred.promise( jXHR );
// Attach deferreds
deferred.promise( jXHR );
- jXHR.success = jXHR.complete;
+ jXHR.success = jXHR.done;
jXHR.error = jXHR.fail;
jXHR.error = jXHR.fail;
- jXHR.complete = completeDeferred.complete;
+ jXHR.complete = completeDeferred.done;
// Remove hash character (#7531: and string promotion)
s.url = ( "" + s.url ).replace( rhash , "" );
// Remove hash character (#7531: and string promotion)
s.url = ( "" + s.url ).replace( rhash , "" );
@@
-515,21
+521,29
@@
jQuery.extend({
// Determine if a cross-domain request is in order
var parts = rurl.exec( s.url.toLowerCase() ),
loc = location;
// Determine if a cross-domain request is in order
var parts = rurl.exec( s.url.toLowerCase() ),
loc = location;
- s.crossDomain = !!( parts && ( parts[ 1 ] && parts[ 1 ] != loc.protocol || parts[ 2 ] != loc.host ) );
+
+ if ( ! s.crossDomain ) {
+ s.crossDomain = !!(
+ parts &&
+ ( parts[ 1 ] && parts[ 1 ] != loc.protocol ||
+ parts[ 2 ] != loc.hostname ||
+ ( parts[ 3 ] || 80 ) != ( loc.port || 80 ) )
+ );
+ }
// Convert data if not already a string
if ( s.data && s.processData && typeof s.data != "string" ) {
s.data = jQuery.param( s.data , s.traditional );
}
// Convert data if not already a string
if ( s.data && s.processData && typeof s.data != "string" ) {
s.data = jQuery.param( s.data , s.traditional );
}
+ // Get transport
+ transport = jQuery.ajax.prefilter( s , options ).transport( s );
+
// Watch for a new set of requests
if ( s.global && jQuery.active++ === 0 ) {
jQuery.event.trigger( "ajaxStart" );
}
// Watch for a new set of requests
if ( s.global && jQuery.active++ === 0 ) {
jQuery.event.trigger( "ajaxStart" );
}
- // Get transport
- transport = jQuery.ajax.prefilter( s ).transport( s );
-
// If no transport, we auto-abort
if ( ! transport ) {
// If no transport, we auto-abort
if ( ! transport ) {
@@
-559,7
+573,7
@@
jQuery.extend({
}
// Set the correct header, if data is being sent
}
// Set the correct header, if data is being sent
- if ( ( s.data && s.hasContent ) || options.contentType ) {
+ if ( s.data && s.hasContent && s.contentType !== false || options.contentType ) {
requestHeaders[ "content-type" ] = s.contentType;
}
requestHeaders[ "content-type" ] = s.contentType;
}