2010-05-17 56 views
-1

我正在使用jQuery ajax調用來更新數據。我在Firefox的兩個不同的標籤登錄。從一個標籤退出。用戶應該從其他標籤註銷

我從一個選項卡註銷。第二個標籤尚未刷新。

當我試圖通過ajax更新數據時,調用正確執行的調用。

如何在執行ajax調用時捕捉用戶註銷並顯示錯誤?

回答

0

如果用戶在第一個選項卡明確註銷(而不是通過關閉選項卡),您可以檢查PHP在處理Ajax請求時是否仍然記錄日誌。例如:

function login() { 
    $_SESSION['isLogged'] = true; 
} 

function logout() { 
    $_SESSION['isLogged'] = false; 
} 

function isLogged() { 
    return (isset ($_SESSION['isLogged']) ? $_SESSION['isLogged'] : false); 
} 

,並在您的Ajax處理:

if (isLogged()) { 
    ... some stuff here 
} 
else { 
    ... return error message here and ask user to log in 
} 
+0

那麼第二個代碼是JavaScript還是第一個PHP? – Nathan 2011-09-27 22:45:47

3

前處理在服務器端AJAX調用,如果用戶登錄,你應該有一個檢查

如果沒有會話被找到,在AJAX調用中返回一個特殊的錯誤;例如用於JSON:

{"status":"error","error":"loggedout"} 

如果應用程序接收到該信息,顯示一個「會話已超時」消息發送到用戶,並將它們重定向到登錄(或其它適當)頁。