1
回答
jQuery.ajax(...).done如何添加hook
利用AWS快速构建适用于生产的无服务器应用程序,免费试用12个月>>>   

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

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

hook1;

do something;

hook2;

});

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

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

do something;

});

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

该如何实现?

举报
T0NYLEE
发帖于6年前 1回/12K+阅
共有1个答案 最后回答: 6年前
可以用回调实现,如下:
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');

	});

 

});


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