2013-08-24 28 views
2

我正在使用jsp和jquery ...和struts.I有一個理解重定向到ajax請求的登錄頁面的問題。我試圖在XHR選項卡上的瀏覽器上看到請求,它給了我302頭狀態碼。我無法理解如何重定向。 我的方法 1)該應用程序有一個函數,用於檢查用戶是否登錄並具有重定向到登錄URL的功能。 2)其他的做一些其他的處理。在java和jquery中重定向ajax調用

如何在登錄後回到同一頁面。是否有任何方法?.....在服務器端重定向我使用Response.redirect()...有人可以解釋如何捕獲響應服務器?...

function buttonpress(param1,param2) 
{ 
$.ajax({ 
type:"GET", 
data:{ 
X:param1, 
Y:param2, 
}, 
url:"/application", 
success:function() 
{ 
alert("success message"); 
} 
error:function() 
{ 
alert("error message") 
} 

}); 
} 

回答

0

使用data參數傳遞給Ajax success()回調。如果發佈了302,則目標網址將在data.redirect處可用。

function buttonpress(param1,param2) 
{ 
    $.ajax({ 
    type: "GET", 
    data: { 
     X:param1, 
     Y:param2, 
    }, 
    url: "/application", 
    success: function(data, status) 
    { 
     if (data.redirect) { 
     window.location.href = data.redirect; 
     } else { 
     alert("success message"); 
     } 
    }, 
    error:function() 
    { 
     alert("error message") 
    } 
    }); 
} 
+0

我試過,但仍給予同樣的error..but如果傳遞的X和Y查詢參數......比方說如參數:www.abc。 com/application?X = 1&Y = 2 .....它帶我登錄頁面。 – steve

0

你可以試試這個

function buttonpress(param1,param2) 
{ 
    $.ajax({ 
    type: "GET", 
    data: { 
     X:param1, 
     Y:param2, 
    }, 
    url: "/application", 
    success: function(data) 
    { 
     var flag = data.trim(); 
     if (flag) { 
     // success code 
     } else { 
     window.location.href = '/logout.do'; 
     } 
    }   
    }); 
}