Basically that's the question (parentheses are important)
.ajaxStart()
and .ajaxStop()
are for all requests together, ajaxStart
fires when the first simultaneous request starts, ajaxStop
fires then the last of that simultaneous batch finishes.
So say you're making 3 requests all at once, ajaxStart()
fires when the first starts, ajaxStop()
fires when the last one (they don't necessarily finish in order) comes back.
These events don't get any arguments because they're for a batch of requests:
.ajaxStart( handler() )
.ajaxStop( handler() )
.ajaxSend()
and .ajaxComplete()
fire once per request as they send/complete. This is why these handlers are passed arguments and the global/batch ones are not:
.ajaxSend( handler(event, XMLHttpRequest, ajaxOptions) )
.ajaxComplete( handler(event, XMLHttpRequest, ajaxOptions) )
For a single documentation source, the Global Ajax Events section of the API is what you're after.