javascript之对 Ajax 请求执行两个成功处理程序

JustinYoung 阅读:31 2025-12-25 22:24:30 评论:0

我正在构建一个 Web 应用程序,其中有大量 Ajax 请求分散在所有模板中

我在主模板上使用ajaxSetup,所有其他模板都将从该模板继承。在此 ajax 设置中,我做了一些预处理和后处理。

//on main.html 
$.ajaxSetup({ 
    beforeSend: function (xhr) 
    { 
        //stuff 
    }, 
    success: function (data) 
    { 
        //other stuff 
    } 
}) 

每个 ajax 请求都有一个自己的成功处理程序,并且必须执行。

问题是,ajax 请求的成功处理程序将覆盖 ajaxSetup 中定义的全局处理程序。

//on specific.html 
$.ajax({ 
    success: function (data){ 
         //request specific request handler which overrides $.ajaxSetup. 
    } 
}) 

我的问题是,我是否可以解决此替换问题?我不想在每个单独的 ajax 请求上编写相同的代码或函数调用。

提前致谢

请您参考如下方法:

您可以使用ajaxSuccess来完成此任务 http://api.jquery.com/ajaxSuccess/ :

$( document ).ready(function(){ 
    $(this).ajaxSuccess(function( event, request, settings ) { 
          console.log("Global Success") 
    }); 
 
    $.ajax({method: "GET", url: "/echo/json",success : function(e){ 
        console.log("Success"); 
    }}); 
}); 

http://jsfiddle.net/Jpv5P/1/


标签:ajax
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号