簡體   English   中英

jQuery Ajax登錄重定向

[英]Jquery ajax login redirect

我有一個簡單的彈出式登錄名,它將狀態返回到div(如果傳遞不正確)或重定向到主頁。

這是處理請求的代碼:

$.ajax({
     type: "POST",
     url: "login.html",
     cache: false,
     data: formData
     success: function(data){
        var $response=$(data);
        $('#response').text($response.find('#response').text());
        if($('#response').text().length<=0)
        {
            window.location="main.html";
        }
     }
 });

我正在使用Spring MVC處理請求。 Login.html返回String(傳遞不正確)。 但是當我從Spring獲得重定向時,什么也沒有發生。 因此,我臨時添加了用於重定向的客戶端代碼。

這種方法正確嗎? 原因我在兩種方法上都成功(密碼錯誤或正確)

查看何時從Spring重定向,如何重定向頁面。.由於執行ajax提交。.從Spring重定向並返回主頁時,可以在ajax調用的可變數據中看到主頁html。 規則很簡單..當您執行ajax..browser時,正常提交不會造成干擾。.在理想情況下,當正常提交服務器將HTTP代碼發送為302,並且您的頁面將被重定向到新位置(意味着打開新頁面)。

您可以嘗試以下方法:

$.ajax({
     type: "POST",
     url: "login.html",
     cache: false,
     data: formData
     success: function(data){
       document.open();
       document.write(data);//home page from server after authentication..dont forget to add redirect logic at spring
       document.close();
     }
 });

我希望您不使用Spring-security進行身份驗證。因此,您可能需要編寫大量自己的過濾器方法。 另外,也可以嘗試使用來自身份驗證的普通提交方法來代替ajax。因為在ajax中,您可能需要使用自己的會話ID來設置瀏覽器cookie。在正常身份驗證過程中,這很容易注意。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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