【问题标题】:AJAX Requests when User is logged out用户注销时的 AJAX 请求
【发布时间】:2013-03-25 18:31:25
【问题描述】:

我在我的 ASP.net 应用程序中发出 许多 AJAX 请求,但是现在,当用户注销时,登录表单只会显示在我使用响应文本的任何位置。

我该如何处理这个问题?我无法重新构思所有响应,因此如果用户退出,我会得到某个响应,因为它们太多

有没有一种方法可以处理所有回复?所有响应均由特定文件夹中的 Generic Halndlers .ashx 处理。

【问题讨论】:

    标签: asp.net ajax webforms


    【解决方案1】:

    您可以使用命令函数来验证会话,从而在整个站点中实现这一点。这可以通过两步过程实现

    第 1 步:

    在 ajax 完成函数调用 validateSession 中,您将根据会话/登录页面内容重定向到登录页面。

    complete: function(XHR, status){   //handle session out
                validateSession(XHR.responseText);
            },
    

    第二步:

    现在通过检查登录页面中的一些文本来处理会话和重定向。在我的示例中,我在登录页面中放置了 :SESSION EXPIRED: 字符串

       function validateSession(strAjaxOutput, strStatus, objXhr)
        {
        if(("undefined" != typeof strStatus) && ("undefined" != typeof objXhr))
        {
        strAjaxOutput = objXhr.responseText;
        }
        var reg = /:SESSION EXPIRED:/;
        if(reg.test(strAjaxOutput))
        {
        window.location = "http://www.myloginpage.com"; //redirect to login page
        return false;
        }
        else
        {
        return true;
        }
        } 
    

    【讨论】:

    • 谢谢。我真的很喜欢你的解决方案背后的想法。我试试看。
    • WC。这就是我在 mysite 上关注的方式,这是一个可行的解决方案 :)
    猜你喜欢
    • 2014-07-31
    • 2017-07-06
    • 2011-11-08
    • 1970-01-01
    • 2015-11-15
    • 2015-12-28
    • 1970-01-01
    • 2018-08-01
    • 2017-12-05
    相关资源
    最近更新 更多