서비스 중 정보를 등록할때 세션의 id 도 같이 등록하는 프로세스가 있다.
문제는 세션 유지시간이 초과되어 세션이 풀린 상태에서 등록을 시도하면 에러가 난다는 것 이다.
이 문제는 등록시 세션체크를 안 했었기에 일어난 문제였다. 등록시 세션을 체크해서 세션 정보가 없으면 알림을 띄워주면된다.
추가적으로 알람 이후 로그인 팝업창을 띄워서 기존 입력하던 정보를 유지하며 재로그인이 가능하도록 만들었다.
그런데 이 부분에서 문제가 발생한다.
팝업에서 정보를 등록하고 부모창으로 데이터를 보내줘야하는데 세션이 풀렸다가 다시 로그인했던 문제인지 opener가 잡히지 않는 상황이다.
왜 이런지 생각해봐야 되는 부분은 2군데인데
첫번째로는 테스트를 위해 부모창에 있는 로그아웃 버튼을 눌러서 부모창이 원래 페이지가 아닌 다른 페이지로 이동되었기 때문에?
두번째로는 세션을 destory 해버리면 opener 가 같이 사라진다?
첫번째의 경우에는 실제로 유저가 그럴일이 드물기에 큰 문제가 없는 상황이다.
두번째경우에는 좀 복잡해질듯 하다.
해결 후 해결방법을 기록해두는것이 좋겠다.
-------------------------------------------------------------
비슷한 환경을 만들어 테스트 해보니 첫번째 경우였다.
세션은 있든말든 상관없이 팝업을 호출한 부모창이 다른 페이지로 이동되면 해당 부모창의 함수는 호출 할 수 없다.(그리고 다시 원래 부모창 페이지로 오면 함수 호출이 가능해진다)
어찌보면 당연한건데 하필 세션이 삭제되는 상황이랑 겹쳐서 착각했다.
괜히 어렵게 생각하지 말자
'자바스크립트(jquery)' 카테고리의 다른 글
javascript input 데이터 post 전송 제한 (0) | 2024.04.26 |
---|---|
javascript 로딩바css (0) | 2024.03.24 |
javascript undefined, null 체크 (0) | 2024.03.23 |
jquery 다량의 배열 post (0) | 2024.03.22 |
체크박스 전체선택 및 선택삭제 (0) | 2024.03.22 |