2013-03-25 116 views
0

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

我该如何处理这个问题?我不能重新概念所有的回应,以便如果用户注销,我会得到一定的回应,因为它们太多。

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

回答

1

您可以使用comman函数来验证session.This整个网站达致这可以用2步法来达到的

STEP1:

在AJAX功能齐全的呼叫validateSession中,你会重定向到基于会话/登录页面内容的登录页面。

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

STEP2:

现在处理的会话,并通过检查一些文本放置在登录page.In我的例子,我把重定向:session过期:字符串中的登录页面

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; 
    } 
    } 
+0

谢谢。我非常喜欢你的解决方案背后的想法。我试试看。 – enb081 2013-03-25 19:10:09

+0

WC.This是我如何跟随mysite,它是一个工作解决方案:) – 2013-03-26 05:21:42