2010-07-21 48 views
3

我有一個按鈕,執行使用AJAX腳本。 通常,當會話仍處於活動狀態時,腳本將返回一些將放置在父頁面內的數據。 如果會話過期,AJAX將返回放在父頁面內的登錄屏幕,看起來很奇怪。會話超時和AJAX在ASP.NET

我怎麼能夠檢測會話超時,做父頁面上回發?

回答

0

當你打吧,先檢查一下,如果你的會話參數之一是沒有什麼/空。如果它爲空,那麼你的會話可能超時。如果你沒有,你明確設置任何會話變量,可以設置一個當英寸

0

用戶登錄你說的「如果會話過期AJAX將返回登錄界面」是什麼意思?您可以控制返回的內容,而不是返回登錄屏幕返回某種錯誤代碼,或者更好地拋出一個異常,您可以在客戶端上捕獲錯誤。

+0

我使用窗體身份驗證。當頁面嘗試加載但會話已過期時,頁面將被asp.net重定向到登錄屏幕。 – Arizona1911 2010-07-21 20:54:22

2

既然你不可能叫一整頁,而你登錄頁面很可能是一個完整的頁面,你可以只做到以下幾點。

if (xmlhttp.responseText.indexOf("DOCTYPE") != -1) { 
    window.location.href = window.location.href; 
}