在每个 ajax 请求上执行一段代码
Executing a piece of code on every ajax request
我正在处理 ASP.net 表单项目。在每个 ajax 请求中,我需要执行一段代码(在本例中,重置会话过期)。实现此目标的最佳方法是什么?
- 为 ajax 请求创建一个包装器,您将从用户代码中调用它
- 假设您正在使用 jQuery ajax 之类的东西,return 是一个 Promise,将您的 _always_run_this_function_ 链接到成功处理程序,然后 return .
由于 promise 可以有任意数量的处理程序,因此 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
在 AJAX 请求的生命周期中会发生许多全局 AJAX 事件:发送请求之前就是其中之一。您可以使用它来设置每次在您的页面中进行 AJAX 调用时运行的处理程序。
这可能会有所帮助 ASP.NET Ajax Life Cycle
可以使用ajax拦截器,
$.ajaxSetup({
beforeSend: function (xhr) {
/// call your method here
}});
我正在处理 ASP.net 表单项目。在每个 ajax 请求中,我需要执行一段代码(在本例中,重置会话过期)。实现此目标的最佳方法是什么?
- 为 ajax 请求创建一个包装器,您将从用户代码中调用它
- 假设您正在使用 jQuery ajax 之类的东西,return 是一个 Promise,将您的 _always_run_this_function_ 链接到成功处理程序,然后 return .
由于 promise 可以有任意数量的处理程序,因此 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
在 AJAX 请求的生命周期中会发生许多全局 AJAX 事件:发送请求之前就是其中之一。您可以使用它来设置每次在您的页面中进行 AJAX 调用时运行的处理程序。
这可能会有所帮助 ASP.NET Ajax Life Cycle
可以使用ajax拦截器,
$.ajaxSetup({
beforeSend: function (xhr) {
/// call your method here
}});