Fixes #5955. Option crossDomain now forces ajax to consider a request as cross-domain even when it is not. Useful for when servers issue redirects to cross-domain urls. Unit test added.

This commit is contained in:
jaubourg 2011-01-09 16:50:13 +01:00
parent c55a76a23f
commit 5a5f67800b
2 changed files with 26 additions and 8 deletions

View file

@ -520,12 +520,15 @@ jQuery.extend({
// 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.hostname ||
( parts[ 3 ] || 80 ) != ( loc.port || 80 ) )
);
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" ) {