X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=src%2Fajax.js;h=b089f22c29cad7858a7b576854dd62a9e2960fd8;hb=17b1e407d101c5c7f91db633df3a80cd9b4466ae;hp=743857c1a07f6d9bcd313a77ca201b9c3ed6be9b;hpb=047debc750bd7ca15229297c1f3ab98527fe5be6;p=jquery.git diff --git a/src/ajax.js b/src/ajax.js index 743857c..b089f22 100644 --- a/src/ajax.js +++ b/src/ajax.js @@ -91,7 +91,7 @@ jQuery.each( "ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".sp }; }); -var jsc = (new Date).getTime(); +var jsc = now(); jQuery.extend({ get: function( url, data, callback, type ) { @@ -153,7 +153,7 @@ jQuery.extend({ script: "text/javascript, application/javascript", json: "application/json, text/javascript", text: "text/plain", - "default": "*/*" + _default: "*/*" } }, @@ -211,7 +211,7 @@ jQuery.extend({ s.cache = false; if ( s.cache === false && s.type.toLowerCase() == "get" ) { - var ts = (new Date()).getTime(); + var ts = now(); // try replacing _= if it is there var ret = s.url.replace(/(\?|&)_=.*?(&|$)/, "$1_=" + ts + "$2"); // if nothing was replaced, add timestamp to the end @@ -232,7 +232,7 @@ jQuery.extend({ // If we're requesting a remote document // and trying to load JSON or Script with a GET - if ( (!s.url.indexOf("http") || !s.url.indexOf("//")) && ( s.dataType == "script" || s.dataType =="json" ) && s.type.toLowerCase() == "get" ) { + if ( (!s.url.indexOf("http") || !s.url.indexOf("//")) && s.dataType == "script" && s.type.toLowerCase() == "get" ) { var head = document.getElementsByTagName("head")[0]; var script = document.createElement("script"); script.src = s.url; @@ -287,13 +287,18 @@ jQuery.extend({ // Set the Accepts header for the server, depending on the dataType xml.setRequestHeader("Accept", s.dataType && s.accepts[ s.dataType ] ? s.accepts[ s.dataType ] + ", */*" : - s.accepts.default ); + s.accepts._default ); } catch(e){} // Allow custom headers/mimetypes - if ( s.beforeSend ) - s.beforeSend(xml); - + if ( s.beforeSend && s.beforeSend(xml, s) === false ) { + // cleanup active request counter + s.global && jQuery.active--; + // close opended socket + xml.abort(); + return false; + } + if ( s.global ) jQuery.event.trigger("ajaxSend", [xml, s]); @@ -443,9 +448,9 @@ jQuery.extend({ }, httpData: function( r, type ) { - var ct = r.getResponseHeader("content-type"); - var xml = type == "xml" || !type && ct && ct.indexOf("xml") >= 0; - var data = xml ? r.responseXML : r.responseText; + var ct = r.getResponseHeader("content-type"), + xml = type == "xml" || !type && ct && ct.indexOf("xml") >= 0, + data = xml ? r.responseXML : r.responseText; if ( xml && data.documentElement.tagName == "parsererror" ) throw "parsererror";