2009-08-05 138 views
2

當用戶向服務器進行AJAX查詢時,是否有方法將用戶重定向到頁面(在我的情況下是登錄頁面)?服務器應該只在會話設置時才提供數據,否則應該重定向用戶。我試着發送一個頭(「位置:...」)請求,但瀏覽器將它作爲一個字符串(xmlhttp.response)處理,而不是對其執行操作。使用AJAX重定向瀏覽器

回答

2

不直接。你的回調函數將不得不處理它。

例如,如果服務器發送文本「LOGIN; /login.php;」那麼你的onreadystatechange回調可能有段

if (xmlhttp.responseText.substring(0,6) == 'LOGIN;') { 
    window.location.href = xmlhttp.responseText.split(";")[1]; 
    return; 
} 

如果您使用的是Ajax的框架,這個代碼可以在任何一個回調得到Ajax調用的結果。

1

在回調函數中,如果未設置會話,可以將window.location設置爲新頁面。

2

不,不直接。您可以返回一些特殊的應該作爲重定向處理的內容。但是,由於瀏覽器不想瀏覽,它不會。

+0

我會那樣做。謝謝 :) – 2009-08-05 05:04:43