在搭建自己的个人博客的时候有一个这样子的需求:在ajax请求发出前显示正在加载的动画效果,在ajax请求结束后,显示请求成功的动画。考虑到在ajax调用地方加很不友好,最后使用代理的方式实现。
在在ajax加载后给ajax加个代理
var temp = $.ajax;
$.ajax = function(options) {
alert('这里是调用之前');
var success = options.success;
options.success = function(data) {
var args = arguments;
var res = success .apply(this,args );
alert('这里是请求成功之后');
return res;
}
return temp(options);
}
之后,再使用$.ajax的时候,就会发现,调用之前会弹出对话框,成功之后也会弹出对话框。