gpt4 book ai didi

asp.net-mvc-3 - 从 ajax 调用中注销

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

现在,我们倾向于在渲染该页面之前将工作量拆分为一页,以加快速度,因此,我们通常加载基本内容,然后在 DOM 准备就绪后,我们调用所有部分以显示更多数据正常的动画加载 gif ...

正常程序是什么,当请求这种方法时,用户 session 已经过期并且他/她需要重新登录?

目前我没有这样的东西,浏览器只显示无尽的加载 gif...我想知道解决这种琐碎问题的最佳方法是什么。

我考虑过发送一个错误标志,我可以从 javascript 读取并重定向到登录页面

$.get( url, data, function(data) { 
if(data.logout) document.location.href = '/LogOut';
...
});

但 session 过期后,我从 Controller 处没有得到任何信息...

附注我的 Web 应用程序是使用 ASP.NET MVC 3 制作的。

最佳答案

我建议您从 following article 开始其中 Phil Haack 解释了如何正确处理 ASP.NET MVC 中的 401 错误,而不自动将您重定向到 LogOn 页面。

然后只需像平常一样执行 AJAX 请求即可:

$.get(url, data, function(data) { 
// if we got here it means that the request succeeded
// => do whatever you have to do for this case
});

然后你就可以注册一个 global AJAX event处理所有 AJAX 请求的 401 情况:

$(document).ajaxError(function (event, jqXHR, ajaxSettings, thrownError) {
if (jqXHR.status == 401) {
// the server returned 401 (Unauthorized) =>
// redirect to the LogOn page
window.location.href = 'put your logon url here';
}
});

关于asp.net-mvc-3 - 从 ajax 调用中注销,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11946699/

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