jQuery.ajax(...).done如何添加hook

T0NYLEE 发布于 2012/04/20 23:20
阅读 12K+
收藏 0

我想修改done方法为如下形式

jQuery.ajax(...).done(function(data){

hook1;

do something;

hook2;

});

也就是定义好hook以后,只要我写:

$.ajax(...).done(function(data){

do something;

});

就会自动在do something之前调用hook1,之后调用hook2。

该如何实现?

加载中
0
首席搬砖工程师
首席搬砖工程师
可以用回调实现,如下:
function hook1(){
	alert('before');
}	

function hook2(){
	alert('after');
}

function Test(){}

Test.prototype.callback=function(func){
	hook1();
	if(func instanceof Function){
		func();
	}
	hook2();
};

$.ajax(...).done(function(data){

 
	new Test().callback(new function(){
		alert('do something');

	});

 

});


田夫
田夫
请问这种方式跟在ajax内部使用回调函数有区别么?即$.ajax(type:post,url:/,success:function(data){....});有啥区别呀,还请多多指教。
T
T0NYLEE
的确是个方法,我在so上提问,得到的回答还没这个好用呢。但是似乎与手工在前后调用方法相差不是很大。期待更好的方法
返回顶部
顶部