gpt4 book ai didi

ajax - 基于Ajax的应用程序,并希望在 session 过期后重定向到登录页面

转载 作者:行者123 更新时间:2023-12-02 14:59:06 25 4
gpt4 key购买 nike

在这里,我将创建一个完全基于远程的应用程序。

所有js和css仅加载一次。因此,我需要 session 过期的解决方案。

意味着当ajax请求到达 Controller 时,它将首先通过身份验证,如果 session 已过期,那么我想重定向到登录页面重新登录。

[编辑-@Brad]

让我们尝试澄清您的要求。

1)通过Ajax向服务器发出请求

2)服务器以HTTP 401响应,未授权

3)Ajax识别401状态并重定向到“登录”页面

4)登录成功,

5)然后执行旧请求。表示执行第1步请求。

6)但我不想执行该第一步请求,但希望每次都执行主页。

最佳答案

一种方法是让您的客户端AJAX代码检查HTTP 401 response code,这意味着您的用户 session 已超时并且不再登录。

使用JQuery ...

$.ajax({
type: "post", url: "/SomeController/SomeAction",
success: function (data, text) {
//...
},
error: function (request, status, error) {
// look for status of 401 and redirect to login
}
});

当然,您只需要确保您的Web应用程序返回正确的状态代码即可。我发现 this article在这个问题上令人发指。

similar question上也有一些很好的信息

[编辑]

好的,从您在步骤3)中更新的问题开始,这是由于ajax请求而引起的,我希望您的用户看不到登录页面,因为您的ajax处理代码将收到401响应,并且您可以决定不显示它。然后,您可以将用户浏览器重定向到您选择的登录URL。在这种情况下,您将重定向到主页,或将登录页面配置为接受附加的URL参数,以告知用户登录后要将用户发送到的位置。

关于ajax - 基于Ajax的应用程序,并希望在 session 过期后重定向到登录页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10750601/

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