[英]javascript - Handling redirect from http response
我正在嘗試構建一個html頁面,當我輸入它時,它將根據會話中的屬性將我重定向到另一個頁面。
如果會話中有一個名為“用戶名”的屬性,它將不會重定向我,否則它將重定向。
為了做到這一點,我編寫了一個JavaScript函數,該函數調用一個Java servlet,以檢查該屬性是否存在。
<script type="text/javascript">
var req = new XMLHttpRequest();
req.onreadystatechange = function() {
if (req.readyState == 4) {
var data = req.responseText;
}
document.write(req.readyState);
}
req.open('POST','sessionCheck',true);
req.send(null);
</script>
Servlet中的代碼是:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
HttpSession hs = request.getSession();
String username = (String) hs.getAttribute("username");
if (username == null)
response.sendRedirect("/login.html");
}
我知道共鳴確實發送了重定向,但網頁未重定向。
*注意:我正在使用Eclipse Java EE for Web Developers。
謝謝!
Javascript AJAX請求遵循重定向。 您的JavaScript代碼很可能最終請求了您希望將瀏覽器重定向到的頁面。
嘗試返回要重定向到的頁面作為您的響應,然后讓瀏覽器導航到該頁面。
您可以看到XMLHttpRequest標准指出將遵循重定向:
HEADERS_RECEIVED(數值2)
遵循所有重定向(如果有),並且已收到最終響應的所有HTTP標頭。 該對象的幾個響應成員現在可用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.