jquery ajax默认成功函数与自定义函数

标签 jquery ajax

我想要做的是有一个默认的成功函数,所有请求都将经过该函数,然后是一个包含单独调用内容的特定函数。

类似于

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/

相关文章:

javascript - 获取多个输入文件的图像预览

javascript - 将 "beforeShowDay"与 Bootstrap-datepicker 一起使用

c# - 当方法有参数时 Ajax 回调失败

javascript - Google 转化跟踪成功回调

javascript - 删除前导空格并替换多个空格

javascript - 根据另一个 div 滚动位置显示 div

javascript - 如何根据我的 ASP.NET MVC 5 应用程序中选择的单选框动态显示文本框并使其成为必需的

javascript - 如何使用 jQuery 异步加载图像,以及如何知道图像加载何时完成?

javascript - 阻止恶意 JavaScript 执行

php - 如何在重新加载之间存储页面的状态?