X-Git-Url: http://git.asbjorn.it/?a=blobdiff_plain;f=src%2Fajax.js;h=104961497c96b4eeb553a425d70cc669b1ca7d57;hb=ffbedf0262b3eea906f39c0115b818d7456a3994;hp=8e7655cb922f97f22b14cc8c64361da7cb170fe6;hpb=7ac564cd98a869d558ea4b3be6919baab0f48d10;p=jquery.git diff --git a/src/ajax.js b/src/ajax.js index 8e7655c..1049614 100644 --- a/src/ajax.js +++ b/src/ajax.js @@ -52,10 +52,7 @@ jQuery.fn.extend({ // If not, just inject the full result res.responseText ); - // Add delay to account for Safari's delay in globalEval - setTimeout(function(){ - self.each( callback, [res.responseText, status, res] ); - }, 13); + self.each( callback, [res.responseText, status, res] ); } }); return this; @@ -200,8 +197,13 @@ jQuery.extend({ if ( s.dataType == "script" && s.cache == null ) s.cache = false; - if ( s.cache === false && s.type.toLowerCase() == "get" ) - s.url += (s.url.match(/\?/) ? "&" : "?") + "_=" + (new Date()).getTime(); + if ( s.cache === false && s.type.toLowerCase() == "get" ) { + var ts = (new Date()).getTime(); + // try replacing _= if it is there + var ret = s.url.replace(/(\?|&)_=.*?(&|$)/, "$1_=" + ts + "$2"); + // if nothing was replaced, add timestamp to the end + s.url = ret + ((ret == s.url) ? (s.url.match(/\?/) ? "&" : "?") + "_=" + ts : ""); + } // If data is available, append data to url for get requests if ( s.data && s.type.toLowerCase() == "get" ) { @@ -217,7 +219,7 @@ jQuery.extend({ // If we're requesting a remote document // and trying to load JSON or Script - if ( !s.url.indexOf("http") && s.dataType == "script" ) { + if ( !s.url.indexOf("http") && ( s.dataType == "script" || s.dataType =="json" ) ) { var head = document.getElementsByTagName("head")[0]; var script = document.createElement("script"); script.src = s.url;