2012-05-18 4 views
1

쿠키에 대해 혼란 스럽습니다. 나는 다음은 (I 읽고 값을 사용) 아약스 호출과 페이지가로드로 서버에 전달이브라우저가 닫히더라도 서버로 계속 보내면 세션 쿠키가 만료됩니다.

document.cookie = "userName=" + me.name + ";"; 

같은 쿠키를 작성하는 경우. 그러나 쿠키는 방문 간에도 지속됩니다. 즉, 브라우저를 닫았다가 다시 열면 쿠키가 계속 남아 있습니다. 나는 그것을 원하지 않는다. 하지만 다음이

document.cookie = "userName=" + me.name + "; expires=;"; 

브라우저를 닫을 때 올바르게 삭제되지만이 아약스 호출과 페이지가로드로 서버로 전송되지 않습니다 같은 세션 쿠키로 설정합니다.

(NB IE10 베타 버그가있을 수 있습니다 브라우저 세션 사이 계속 발생, 다른 게시물 내 첫 번째 줄은 브라우저를 닫을 때 만료되는 쿠키를 생성해야하는 것이 좋습니다.)

는 측면에서이 두 선 사이의 차이 무엇입니까 브라우저의 닫을 때 죽어 버리는 쿠키가 서버에 전달되면 쿠키를 설정하는 올바른 JavaScript는 무엇입니까?

+1

시도해 보셨습니까? 다른 브라우저에서? 이것은 예기치 않은 동작이 IE 버그로 인한 것인지 또는 사용자 측에서 발생했는지를 알 수 있도록 도와줍니다. – dnc253

+0

아니, 그게 좋은 제안이야. 시도해 볼게. – dumbledad

답변

2

쿠키의 만료 시간을 지정하지 않으면 일반적으로 세션이 끝나면/브라우저가 닫힙니다.

나는 다음과 같은 코드의 끝 부분에 원인이 없을 것입니다. 어떤 구문 오류가 + "이 (큰 따옴표를 열기) 부작용의 어떤 종류의 확실하지 않다?

document.cookie = "userName=" + me.name + "; 

당신은 의미?

document.cookie = "userName=" + me.name; 

또한 이미 두 번째 코드 만 세션 쿠키로 변경되는 영구 쿠키 세트가있을 가능성이 있습니까?

+0

하지만 그게 무슨 문제인지는 알지 못합니다. – dumbledad

+0

죄송합니다. 이제 추가 문제가 있습니다. 쿠키 값이 전송되지 않습니다. – mossimokim

관련 문제