2012-09-04 2 views
0

본질적으로 올바른 로그인 (예 : 홈 페이지) 후 로그인 ajax가 리디렉션을 생성하는 데 문제가 발생했습니다. 새 페이지로 리디렉션됩니다. . 이 새로운 페이지에있는 동안 홈 페이지로 다시 연결되는 링크를 클릭하면 홈 페이지가 기록되지 않은 버전에 있습니다. 브라우저가 캐시 버전을 유지하는 것처럼 사실이 페이지를 F5로 업데이트하면 페이지가 새로 고침되고 로그인 한 것입니다.로그인 후 리디렉션, 캐쉬 된 페이지 문제 - 자바 스크립트

의견이 있으십니까?

편집 : 당신은 당신의 코멘트에 언급처럼이 제대로 세션을 설정하는 경우 내가 워드 프레스 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을 시작하지 않는 것 같습니다. 단순히 마지막 페이지가 로컬 브라우저 캐시에서로드 된 것 같습니다!하지만 집에 다시로드하고 싶습니다! 리디렉션 후 홈 페이지를 수동으로 새로 고치면 서버 스크립트가 정상적으로 작동합니다. 쿠키/세션 문제가 아닌 것 같습니다. – 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

크롬이 제대로 작동하지 않는 것 같습니다. 워드 프레스의 header.php에이 코드를 삽입하면 캐시에서로드가 계속됩니다. 호스팅이 아파치에 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"); 
?> 
관련 문제