// 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;
} 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]);