jquery 源码分析9-ajax(E)全局函数ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend
ajax的全局函数用处在于每次ajax函数发起请求之前,之后,成功,失败都可以执行一些公共的函数,不用每次都需要自己处理,调用一个全局的函数;比方说在发起一个ajax,弹出一个遮盖框,成功就消除这个这个遮盖框,失败就弹出一个message框,这个时候全局函数就是飞常好的,ajax的全局函数实现方式这这样的,在ajaxSettings中设置了一个global参数,默认是false,当设置为true就会调用全局函数;然后通过jquery的trigger方法绑定给相关元素;
//将这些方法赋值给jQuery.prototype
jQuery.each( "ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","), function(i,o){
jQuery.fn[o] = function(f){
return this.bind(o, f);
};
});
紧接着,在ajax方法中
function ajax(s){
if ( s.global)
jQuery.event.trigger( "ajaxStart" );
}
....
XMLHttpRequest请求发送成功后,在success方法之前
jQuery.event.trigger( "ajaxSuccess" );
success();
绑定这个ajaxSuccess
其他的方法都是这个样子绑定
这样就就实现了ajax的全局函数;