2012-09-04 39 views
0

我在登錄ajax後創建重定向時遇到問題,本質上是在正確登錄後(例如,從主頁),我重定向到新頁面。雖然我在這個新頁面中,但如果我點擊一個鏈接將我帶回主頁,則主頁將處於未記錄版本。就好像瀏覽器維護緩存版本一樣。事實上,只需更新此頁面與F5的頁面刷新,我導致登錄。登錄後重定向,緩存頁面問題 - Javascript

你有什麼建議嗎?

編輯:我使用WordPress的插件LoginWithAjax

/Make Ajax Call 
    $.post(url, postData, function(data){ 
     lwaAjax(data, 'LoginWithAjax_Status', '#login-with-ajax'); 
     if(data.result === true){ 
      //Login Successful - Extra stuff to do 
      if(data.widget != null){ 
       $.get(data.widget, function(widget_result) { 
        $('#LoginWithAjax').replaceWith(widget_result); 
        $('#LoginWithAjax_Title').replaceWith($('#LoginWithAjax_Title_Substitute').text()); 
       }); 
      }else{ 
       if(data.redirect == null){ 
        window.location.reload(); 
       }else{ 
        window.location = data.redirect; 
       } 
      } 
     } 
    }, "json"); 
}); 
+0

你必須控制它在服務器,如果你使用PHP,你要驗證是否會在主頁上活躍的,如果不顯示登錄其他重定向到新的網頁... –

+0

但似乎沒有新的GET是由瀏覽器啓動時,我從新頁面回家。似乎只是最後一頁從本地瀏覽器緩存加載!但我想再次加載回家!服務器腳本工作正常,如果我重新手動後手動刷新主頁,比我認爲這不是一個cookie /會話問題。 – andrea

回答

1

如果你正確設置會話,就像你在您的評論提到,它可能是一個瀏覽器的緩存。你可以嘗試添加一個標題到您的網頁要求瀏覽器不緩存:

<meta http-equiv='cache-control' content='no-cache'> 
<meta http-equiv='expires' content='0'> 
<meta http-equiv='pragma' content='no-cache'> 

瞭解更多關於此論壇的帖子: http://www.webmasterworld.com/forum21/10628.htm

+0

它似乎無法正常工作,我正在使用Chrome進行檢查,並且在將此代碼插入wordpress的header.php後,它會繼續從緩存中加載,我會認爲主機已在apache中安裝或配置了mod_header – andrea

0

確定這似乎是工作!謝謝託什。

<?php 
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); 
// HTTP/1.1 
header("Cache-Control: no-store, no-cache, must-revalidate"); 
header("Cache-Control: post-check=0, pre-check=0", false); 
// HTTP/1.0 
header("Pragma: no-cache"); 
?>