簡體   English   中英

javascript-處理來自http響應的重定向

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM