在每个ajax请求上执行一段代码

时间:2018-05-07 05:17:53

标签: c# asp.net webforms asp.net-ajax

我正在开发一个ASP.net表单项目。在每个ajax请求中,我需要执行一段代码(在这种情况下,重置会话到期)。实现这一目标的最佳方法是什么?

3 个答案:

答案 0 :(得分:2)

  1. 在ajax请求上创建一个包装器,您将从用户代码
  2. 调用该请求
  3. 假设您使用的是jQuery ajax,它返回一个Promise,将_always_run_this_function_链接到成功处理程序,然后返回。
  4. 由于承诺可以包含任意数量的处理程序,1)您的常用功能和2)用户功能将按顺序运行。

       function AjaxWrapper(webMethodName, parameterListInJsonFormat) {  
           var promise = $.ajax({  
              url: "Service.svc/" + webMethodName,  
               contentType: "application/json; charset=utf-8",  
              type: "POST",  
               input: parameterListInJsonFormat  
             });  
             promise.done(_always_run_this_function_);
             return promise;
        }
    

    详细信息:https://www.codeproject.com/Articles/636701/jQuery-Promise-An-introduction-to-AJAX-with-multic

答案 1 :(得分:1)

在AJAX请求的生命周期中发生了许多全局AJAX事件:在发送请求之前是其中之一。您可以使用它来设置每次在页面中进行任何AJAX调用时运行的处理程序。

这可能会有助ASP.NET Ajax Life Cycle

答案 2 :(得分:1)

您可以使用ajax intercepter,

$.ajaxSetup({
beforeSend: function (xhr) {
    /// call your method here
}});