Ответ 1
Нет, внутри ajaxStart
у вас нет доступа к объекту jqXHR
или ajaxOptions
:
// Watch for a new set of requests
if ( s.global && jQuery.active++ === 0 ) {
jQuery.event.trigger( "ajaxStart" );
}
Как вы можете видеть, аргументы ajaxStart
не передаются. Контрастируйте это с помощью ajaxSend
:
// Send global event
if ( fireGlobals ) {
globalEventContext.trigger( "ajaxSend", [ jqXHR, s ] );
}
Если объект jqXHR
передается в качестве аргумента вместе с настройками:
$(document).ajaxSend(function(evt, request, settings) {
alert("Starting request at " + settings.url + ".");
});
Также см. этот ответ для лучшего понимания этого дизайна.