2013-07-11 1 views
2

쿠키를 삭제해야합니다. 다음 리디렉션을 수행하십시오. 그러나 리디렉션이 처리 될 때까지 쿠키는 삭제되지 않습니다. 문제는 리디렉션이 실행될 때 쿠키가 계속 존재하면 리디렉션이 가로 채어 의도 한 것과 다른 페이지로 전송된다는 것입니다. (이상한, 알아, 긴 이야기)자바 스크립트를 다시로드하거나 리디렉션하기 전에 삭제

리디렉션 전에 브라우저를 속이고 쿠키를 강제로 삭제할 수 있습니까?

jQuery('div#panelD').click(function(){ 
    document.cookie = 'sharedsession=; expires=Thu, 01 Jan 1970 00:00:01 GMT; Domain=.example.com; path=/'; 
    window.location.href = "www.example.com/x"; 
}); 

답변

0

내가 AJAX 호출을 수행하면 쿠키를 삭제하기위한 새로 고침으로 간주됩니다.

var fakeAjax = new XMLHttpRequest(); 
var anything = fakeAjax.responseText; 
fakeAjax.open("GET","ajax_info.txt",false); // file doesn't actually exist 
fakeAjax.send(); 

열기 행에 "false"가 있음에 유의하십시오. Asynchronous (비동기)를 false (또는 다른 지연)로 설정해야 새로운 정보가 돌아오고 쿠키가 삭제 될 수 있습니다.

업데이트 : IE는 존재하지 않는 파일에서 responseText를 요청하는 것을 좋아하지 않으므로 해당 줄을 완전히 제거하십시오. 다른 브라우저는 그것의 유무에 관계없이 괜찮은 것 같습니다.

관련 문제