2 // usage: $.ajax({ mode: "abort"[, port: "uniqueport"]});
3 // if mode:"abort" is used, the previous request on that port (port can be undefined) is aborted via XMLHttpRequest.abort()
5 var pendingRequests
= {},
7 // Use a prefilter if available (1.5+)
8 if ( $.ajaxPrefilter
) {
9 $.ajaxPrefilter(function( settings
, _
, xhr
) {
10 var port
= settings
.port
;
11 if ( settings
.mode
=== "abort" ) {
12 if ( pendingRequests
[port
] ) {
13 pendingRequests
[port
].abort();
15 pendingRequests
[port
] = xhr
;
21 $.ajax = function( settings
) {
22 var mode
= ( "mode" in settings
? settings
: $.ajaxSettings
).mode
,
23 port
= ( "port" in settings
? settings
: $.ajaxSettings
).port
;
24 if ( mode
=== "abort" ) {
25 if ( pendingRequests
[port
] ) {
26 pendingRequests
[port
].abort();
28 pendingRequests
[port
] = ajax
.apply(this, arguments
);
29 return pendingRequests
[port
];
31 return ajax
.apply(this, arguments
);