jQuery ajax事件调用命令

Qui*_*ncy 2 ajax jquery

假设我有一个像这样的简单函数.

$('body').ajaxSuccess(function(){alert('global');}
                      );


$.post('http://www.google.com', 
      { name: "John", time: "2pm" } ,
      function(data,s,xhr) {
  alert('local');

});
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/AT5vt/

可以在本地成功回调之前调用全局ajaxSuccess()函数吗?因为我想在本地函数进一步处理之前对结果进行全局检查.

Zah*_*iaz 6

这是调用命令的ajax事件

if ( fireGlobals ){
    jQuery.event.trigger("ajaxStart");
} 
//Before send event
if ( s.beforeSend && ( s.beforeSend.call( callbackContext, jqXHR, s ) === false || state === 2 ) ) {
    // Abort if not done already and return
    return jqXHR.abort();
}
if ( isSuccess ) {
    // Success Event
    deferred.resolveWith( callbackContext, [ success, statusText, jqXHR ] );
} else {
    // Error Event
    deferred.rejectWith( callbackContext, [ jqXHR, statusText, error ] );
}

if ( fireGlobals ) {
    globalEventContext.trigger( isSuccess ? "ajaxSuccess" : "ajaxError",
        [ jqXHR, s, isSuccess ? success : error ] );
}
//Complete event
completeDeferred.fireWith( callbackContext, [ jqXHR, statusText ] );

if ( fireGlobals ) {
    globalEventContext.trigger( "ajaxComplete", [ jqXHR, s ] );
    // Handle the global AJAX counter
    if ( !( --jQuery.active ) ) {
        jQuery.event.trigger("ajaxStop");
    }
}
Run Code Online (Sandbox Code Playgroud)