我想要做的是有一个默认的成功函数,所有请求都将经过该函数,然后是一个包含单独调用内容的特定函数。
类似于
function handleResponse(data, func){
if(data.error){
display error information
}else{
func(data)
}
}
$.ajax({
success: handleResponse(data, function(){
Individual request callback function
})
});
不太确定这本身是否有效,但我写这篇文章是为了让您能够理解我想要做的事情的逻辑。我想问的是,是否有一种方法可以在 $.ajaxSetup
中传递这个 handleResponse
函数,这样我就可以像平常一样处理 ajax 响应单个匿名函数并自动调用handleResponse
?
谢谢!
最佳答案
当 jQuery 调用您的成功处理程序时,它并不期望向其传递这样的函数,但您可以执行如下操作:
function makeResponseHandler(func){
return function(data) {
if(data.error){
// display error information
}else{
func(data);
}
};
}
$.ajax({
success: makeResponseHandler(function(){
//Individual request callback function
})
});
带有 success: ...
的行立即调用 makeResponseHandler()
函数,并将您的个人匿名函数传递给它。然后,makeResponseHandler()
函数返回另一个函数,该函数将成为成功回调。
关于jquery ajax默认成功函数与自定义函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17318691/