jquery 기반 전역 ajax 함수 처리 session 만 료 후 ajax 작업

웹 을 하려 면 session 기한 이 지난 문 제 를 고려 해 야 합 니 다. session 기한 이 지나 면 페이지 를 로그 인 인터페이스 로 전환 시 켜 야 합 니 다. 그러나 이런 문제 가 존재 합 니 다. 페이지 가 만 료 된 후에 사용자 가 백 스테이지 에 요청 하 는 방식 은 두 가지 가 있 습 니 다. 전통 적 인 방식 과 비동기 요청 방식, 전통 적 인 방식 이 잘 해결 되 고 백 스테이지 에 요청 하 며 기한 이 지난 조작 을 차단 하고 직접 전환 합 니 다.그러나 비동기 요청 은 전체 페이지 를 새로 고치 지 않 기 때문에 session 만 료 에 대한 처리 도 평소 방식 대로 할 수 없고 다른 조작 이 필요 합 니 다.
구체 적 인 사고: 차단기 에서 ajax 요청 여 부 를 판단 합 니 다. ajax 요청 이 라면 메 시 지 를 되 돌려 줍 니 다. 페이지 에 전체 ajax 처리 이 벤트 를 추가 하여 메 시 지 를 판단 합 니 다. session 이 만 료 되면 location 은 로그 인 페이지 로 갑 니 다.
첫 번 째, 차단 기 는 ajax 요청 여 부 를 판단 합 니 다:
if(request.getHeader("x-requested-with")!=null   
	            && request.getHeader("x-requested-with").equalsIgnoreCase("XMLHttpRequest")){   
				// ajax  ,         
	            PrintWriter printWriter = response.getWriter();   
	            printWriter.print("{sessionState:timeout}");   
	            printWriter.flush();   
	            printWriter.close();   
        }else{  
                //  ajax  ,       
        }  

두 번 째 단 계 는 전역 ajax 처리 이 벤트 를 설정 하고 session 만 료 문 제 를 처리 합 니 다. 차단기 나 필터 와 유사 합 니 다.
$.ajaxSetup({   
        contentType:"application/x-www-form-urlencoded;charset=utf-8",   
        cache:false ,   
        complete:function(data,TS){   
            //      data   ,
            //session    , location     
            }    
        }   
    });  

이것 은 jQuery 의 비동기 처리 체 제 를 바탕 으로 하 는 것 입 니 다. 전체 코드 는 제 가 쓰 지 않 았 습 니 다. 지난번 에 회사 에서 쓴 코드 는 가 져 올 수 없습니다. 글 속 의 코드 중 일 부 는 인터넷 에서 찾 아 붙 였 습 니 다. 새벽 에 30 분 이 지 났 는데 너무 졸 려 서 생각 을 기록 할 뿐 입 니 다.

좋은 웹페이지 즐겨찾기