gpt4 book ai didi

asp.net-mvc - 使用 asp.net mvc/jquery 的全局 "ajax call"通知

转载 作者:行者123 更新时间:2023-12-01 02:26:01 24 4
gpt4 key购买 nike

每当大型 ASP.NET MVC Web 应用程序对服务器进行 Ajax 调用时,我都需要收到通知。我们使用 jquery 和内置的 Ajax.* 方法来进行远程调用,我想要一种全局的方式来知道我们何时进行调用,而不必手动向每个调用注入(inject)某种“IsMakingCall”方法请求。

我们试图解决的根本问题是 session 超时。如果用户离开页面并去吃午饭(例如),他们返回时会收到错误,因为 ajax 调用返回登录页面而不是预期的 json 或部分 html 结果。

我的想法是有一个 js 计时器,每当我们进行 ajax 调用时它都会重置。这样,如果计时器用完(即他们的 session 现在已经超时),我可以自动将他们注销。这就是美国银行和 mint.com 等网站的运作方式。

谢谢!

最佳答案

我以不同的方式(客户端)处理您描述的问题。我的母版页上有一个 jQuery 插件,它会在 session 即将过期之前提示用户通过对话框更新 session 。如果用户没有响应(或单击注销),则会在应用程序上调用注销操作。如果用户“更新”其 session ,则会向服务器发出 AJAX 回调,从而重置滑动窗口服务器端。

您可以找到code在我的博客上,http://farm-fresh-code.blogspot.com 现在它不考虑可能更新 session 的 AJAX 操作,但您可以对其进行检测,以便 jQuery AJAX 通过全局 ajaxStart 重置计时器。 它使用 ajaxStart当发出 jQuery AJAX 请求时重置计时器。我不太使用 MS AJAX,所以我不确定是否有可以使用的全局钩子(Hook)。从检查代码来看,情况并非如此,但您可以通过 AjaxOptions 手动向每个请求添加一个。您也可以研究向 Sys.Net.WebRequestManager 添加处理程序。

关于asp.net-mvc - 使用 asp.net mvc/jquery 的全局 "ajax call"通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2820888/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com