jquery ajax: Fixes #3045. The protocol wasn't being checked to see if a script is required for cross domain requests.
This commit is contained in:
parent
febe463cc2
commit
335b8816c2
|
@ -236,12 +236,13 @@ jQuery.extend({
|
||||||
jQuery.event.trigger( "ajaxStart" );
|
jQuery.event.trigger( "ajaxStart" );
|
||||||
|
|
||||||
// Matches an absolute URL, and saves the domain
|
// Matches an absolute URL, and saves the domain
|
||||||
var remote = /^(?:\w+:)?\/\/([^\/?#]+)/;
|
var parts = /^(\w+:)?\/\/([^\/?#]+)/.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
|
||||||
if ( s.dataType == "script" && type == "GET"
|
if ( s.dataType == "script" && type == "GET" && parts
|
||||||
&& remote.test(s.url) && remote.exec(s.url)[1] != location.host ){
|
&& ( parts[1] && parts[1] != location.protocol || parts[2] != location.host )){
|
||||||
|
|
||||||
var head = document.getElementsByTagName("head")[0];
|
var head = document.getElementsByTagName("head")[0];
|
||||||
var script = document.createElement("script");
|
var script = document.createElement("script");
|
||||||
script.src = s.url;
|
script.src = s.url;
|
||||||
|
|
Loading…
Reference in a new issue